2013-04-18 9 views
2

Flashbuilder 4.7 환경과 함께 제공되는 Hamcrest matchers를 사용하려고합니다. 배열 2 개, 배열 A와 배열 B가 있습니다. 원하는 것은 B의 모든 멤버가 순서에 관계없이 A에 있는지 확인하는 것입니다. 나는 이런 종류의 작품을 찾고 있습니다. AS3 Hamcrest - 한 배열에 다른 배열이 있다고 가정하십시오.

var a:Array = new Array(1, 2, 3, 4); 
var b:Array = new Array(1, 2, 3, 4); 

//Both arrays contain the same values so this should 
//return true 
assertThat(a , hasEachAndEveryLastOneInsideOfIt(b)); 

은 지금은 'allOf'와 'hasItems'시도했다하지만 난 구문에 그립을 얻을 확실히 할 수 아니에요.

답변

2

이 작동합니다 :

물론
assertThat(a, hasItems.apply(null, b)) 

,이 b의 모든 항목이 a 다른 값을 추가로 포함 할 수 있다는 것을 의미 a에 포함되어 있는지 확인합니다. ab도 같은 수의 값을 가지고 있다고 주장하려면 assertEquals(a.length, b.length)이 좋습니다.

hasItems()은 배열이 아니라 ...rest 스타일 인수가 필요하기 때문에 여기에서 속임수는 Function.apply()입니다.

보조 노트로 allOf()은 테스트 된 값에 대한 matchers 목록을 작성합니다.