Kotest 콜렉션 매처(Collection Matchers)

Collection, Iterable 및 Array 유형에 사용할 수 있는 풍부한 매처를 소개한다.

또한 컬렉션의 여러 요소를 테스트하는 유용한 방법인 inspectors를 참조한다.

Collections
collection.shouldBeEmpty() 컬렉션에 요소가 0개 있는지 확인한다.
collection.shouldBeUnique() 컬렉션의 모든 요소가 요소의 자연적 동일성을 사용하여 구별된다는 것을 확인한다.
collection.shouldBeUnique(comparator) 주어진 comparator를 사용하여 요소를 비교하여 컬렉션의 모든 요소가 고유한지 확인한다.
collection.shouldContain(element) 컬렉션에 지정된 요소가 포함되어 있는지 확인한다.
collection.shouldContainAll(e1, e2, ..., en) 순서가 중요하지 않은 나열된 모든 요소가 컬렉션에 포함되어 있는지 확인한다. 즉, 요소 ​​2는 요소 1보다 먼저 컬렉션에 있을 수 있다.
collection.shouldContainDuplicates() 컬렉션에 중복된 요소가 하나 이상 포함되어 있는지 확인한다.
collection.shouldContainExactly() 컬렉션에 주어진 값만 순서대로 포함되어 있고 다른 값은 포함되어 있지 않은지 확인한다.
collection.shouldContainExactlyInAnyOrder() 컬렉션이 어떤 순서로든 주어진 값만 정확히 포함하고 그 외에는 아무것도 포함하지 않는다고 가정힌다.
collection.shouldContainAllInAnyOrder() 컬렉션이 주어진 모든 값을 포함하고 어떤 순서든 다른 값은 포함하지 않는다고 가정한다다.
collection.shouldContainNoNulls() 컬렉션에 null 요소가 없거나 비어 있는지 확인한다.
collection.shouldContainNull() 컬렉션에 하나 이상의 null 요소가 포함되어 있는지 확인한다.
collection.shouldContainOnlyNulls() 컬렉션에 null 요소만 포함되어 있거나 비어 있는지 확인한다.
collection.shouldContainAllIgnoringFields() 하나 이상의 필드를 무시하고 나열된 모든 요소가 컬렉션에 포함되어 있는지 확인한다.
collection.shouldHaveSingleElement(element) 컬렉션에 단일 요소만 포함되어 있고 해당 요소가 지정된 요소임을 확인한다.
collection.shouldHaveSingleElement { block } 컬렉션에 주어진 조건자에 의한 단일 요소가 포함되어 있는지 확인한다.
collection.shouldHaveSize(length) 컬렉션이 정확히 주어진 길이인지 확인한다.
collection.shouldBeSingleton() 컬렉션에 요소가 하나만 포함되어 있는지 확인한다.
collection.shouldBeSingleton { block } 하나의 요소만 컬렉션에 포함시킨 다음 이 요소를 사용하여 블록을 실행한다고 확인한다.
collection.shouldHaveLowerBound(element) 주어진 요소가 컬렉션의 모든 요소보다 작거나 같은지 확인한다. Comparable을 구현하는 요소에 대해서만 작동한다.
collection.shouldHaveUpperBound(element) 주어진 요소가 컬렉션의 모든 요소보다 크거나 같은지 확인한다. Comparable을 구현하는 요소에 대해서만 작동한다.
collection.shouldBeSmallerThan(col) 컬렉션이 다른 컬렉션보다 작은지 확인한다.
collection.shouldBeLargerThan(col) 컬렉션이 다른 컬렉션보다 크지 확인한다.
collection.shouldBeSameSizeAs(col) 컬렉션의 크기가 다른 컬렉션과 동일한지 확인한다.
collection.shouldHaveAtLeastSize(n) 컬렉션의 크기가 n 이상인지 확인한다.
collection.shouldHaveAtMostSize(n) 컬렉션의 크기가 n 이하인지 확인한다.
list.shouldBeSorted() 목록이 정렬되어 있는지 확인한다.
list.shouldBeSortedBy { transform } 변환을 적용한 후 목록이 값을 기준으로 정렬되는지 확인한다.
list.shouldContainInOrder(other) 이 목록이 주어진 목록을 순서대로 포함하고 있는지 확인한다. 다른 요소는 주어진 목록의 양쪽에 나타날 수 있다.
list.shouldExistInOrder({ element }, ...) 이 목록에 술어와 순서대로 일치하는 요소가 포함되어 있는지 확인한다. 술어와 일치하는 요소 주위나 요소 사이에 다른 요소가 나타날 수 있다.
list.shouldHaveElementAt(index, element) 이 목록이 주어진 위치에 주어진 요소를 포함하고 있는지 확인한다.
list.shouldStartWith(lst) 이 목록이 주어진 목록의 요소로 순서대로 시작하는지 확인한다.
list.shouldEndWith(lst) 이 목록이 주어진 목록의 요소로 순서대로 끝나는 것을 확인한다.
iterable.shouldMatchEach(assertions) 이 목록과 주장을 반복하고 이 목록의 각 요소가 연관된 주장을 전달하는지 확인한다. 컬렉션 크기가 일치하지 않으면 실패한다.
iterable.shouldMatchInOrder(assertions) 공백이 허용되지 않고 순서대로 어설션과 일치하는 이 반복자의 하위 시퀀스가 ​​있는지 확인한다.
iterable.shouldMatchInOrderSubset(assertions) 순서대로 어설션과 일치하는 하위 시퀀스(간격이 있을 수 있음)가 있는지 확인한다.
value.shouldBeOneOf(collection) 특정 인스턴스가 컬렉션에 포함되어 있는지 확인한다.
collection.shouldContainAnyOf(collection) 컬렉션에 ‘collection’의 요소 중 하나 이상이 포함되어 있는지 확인한다
value.shouldBeIn(collection) 참조가 아닌 값으로 확인하여 개체가 컬렉션에 포함되어 있는지 확인한다.

참조




최종 수정 : 2024-04-14