こんにちは Javaコレクションシリーズの一環として、Javaコレクションのテストに使用できるAssertJの最も一般的なアサーションメソッドをいくつかリストして、この小さな記事を書くことにしました。
Commoncollectionassertions
このセクションでは、Javaコレクションで使用される最も一般的なアサーションを示します。例は、Javaデータ構造で最もよく使用される配列ベースのリストを使用して示されています。
コレクションには要素が含まれています
基本的な状況は、コレクションに特定の要素が含まれているかどうかを確認することです。AssertJは次のメソッドを使用して、オーバーロードされたバージョンの要素が() /を含まない()であることを確認します。
- contains(Ee、intindex) =要素が特定の位置にあるかどうかを確認します
- contains(E ... elements) = 1つ以上の要素などの可変引数を受け入れ、それらに順序があるかどうかを確認します
次のコードスニペットを見てください。
@测试上市虚空containsElementTest(){清单<整数>数字=清单。newArray清单(1,52,12,39,45,98,100,565,6,13);断言(数字)。contains(12);断言(数字)。不含(50);}
コレクションには任意の順序で要素が含まれます
コレクションには要素のグループが含まれているため、次の2つのシナリオを使用できます。
- 使用して、(E ..要素)が含ま方法を、および要素の可変引数を提供します
- 使用して、(反復処理可能I)が含まれ、別のセットを受け入れ、元に含まれるすべての要素を検証する方法を任意の順序
これはcontainsAll()を使用した例です:
@测试
上市 虚空 containsAllElementsNoMatterOrderTest(){清单<整数> 数字 = 清单。newArray清单(1, 52, 12, 39, 45, 98, 100, 565, 6, 13);清单<整数> 价值观 = 清单。newArray清单(52, 39, 12, 1, 100);断言(数字)。containsAll(价值观);
}
コレクションには特定の順序で要素が含まれています
別のケースでは、指定されたすべての要素がコレクションに含まれているだけでなく、特定の順序も保持されていることを検証します。これを行うには、contains ExactlyElementsOf()メソッドを使用できます。Iterableを受け入れ、実際のコレクションに、指定されたIterableのすべての要素が同じ順序で含まれていることを確認します。
以下の例をご覧ください。
@测试
上市 虚空 containsAllElementsInOrderTest(){清单<整数> 数字 = 清单。newArray清单(1, 52, 12, 39, 45, 98, 100, 565, 6, 13);清单<整数> 价值观 = 清单.newArray清单(数字);断言(数字)。containsExactlyElementsOf(价值观);
}
コレクションに重複はありません
すべてのJavaコレクションが重複を許可するわけではありません。たとえば、セット、挿入された要素をチェックし、重複を許可しません。リストのような他のコレクションは、この機能を提供しません。この場合、コレクションに重複する要素がないことを表明する必要がある場合は、dosNotHaveDuplicates()メソッドを使用することをお勧めします。
@测试
上市 虚空 noDuplicatesTest(){清单<整数> 数字 = 清单.newArray清单(1, 52, 12, 39, 45, 98, 100, 565, 6, 13);断言(数字)。dosNotHaveDuplicates();
}
コレクションには要素が1回だけ含まれています
最後のケースの拡張は、要素が1回だけ存在するかどうかを確認することです。技術的には、contains()メソッドはエンティティの重複を許可するため、要素が繰り返されないことを確認するには、containsOnlyOnce()アサーションを使用します。
次のコードスニペットを確認します。
@测试
上市 虚空 containsOnlyOnceTest(){清单<整数> 数字 = 清单.newArray清单(1, 1, 52, 12, 12, 45, 45);断言(数字)。containsOnlyOnce(52);
}
ソースコード
この投稿の完全なソースコードは、このgithubリポジトリにあります。この投稿に関して質問がある場合は、遠慮なく私に連絡してください。祝你今天愉快!
から:https://dev.to//andreevich/common-assertions-for-java-collections-in-assertj-4h3g