나는 두 Traversable
의 자신의 순서를 구별하지 않고 같은 요소를 포함하는지 확인하고 싶습니다.Traversable과 정확히 같은 요소를 비교하는 방법은 무엇입니까?
그래서, 그것을 자신을 시도하고 다음의 간단한 예를 쓴 다음 the documentation으로
implicit val l = 3
implicit def equality(implicit l: Int) = new Equality[String] {
override def areEqual(a: String, b: Any): Boolean = (a, b) match {
case (_, b: Int) => a.toInt == b
}
}
"Test" should "check how equality works" in {
List("1") should contain theSameElementsAs Vector(1) //Fine
List("1", "2") should contain theSameElementsAs Vector(1, 2) //Fine
List("1", "2", "3") should contain theSameElementsAs Vector(1, 2, 3) //Fine
List("1", "2", "2") should contain theSameElementsAs Vector(1, 2, 2) //Error
List("2", "1") should contain theSameElementsAs Vector(1, 2) //Error
}
을 말한다
이은 "
contain theSameElementsAs
는"구문은 두 집계가 같은 포함 주장 할 수 있습니다 그것은 계정에 중복 및 주문을 받아 안
객체. 그게 뭐가 잘못 됐니? 왼쪽에서 대신 문자열 목록의
전적으로 동의합니다. 평등 [L]의 정확한 계약을 알지 못했습니다. –