2012-01-12 2 views
0

여러 묶음의 속성이있는 두 개의 개체 (같은 클래스의 인스턴스)와 그 중 일부는 다른 개체의 목록이 있습니다.FluentAssertions 목록 자체 대신 목록의 내용 비교

class A { 
    public int a { get; set; } 
    public string b { get; set; } 
    public IList<C> cs { get; set; } 
} 

나는 이것들이 FluentAssertions library를 사용하여 비교하고, 같은 속성을 가지고 있는지 확인하려면, 그래서

first.ShouldHave().AllProperties().EqualTo(second); 

추가하지만 나는

재산을 예상한다는 오류 cs는 값이 < C, C, C>가 발견되었지만 < C, C, C>

즉, 목록 인 속성을 비교할 때 reference-equals를 수행합니다.이 경우에는 분명히 실패합니다.

FluentAssertions가 목록의 요소 속성이 목록 자체가 아닌 이라는 속성을 나타내도록 지시하려면 어떻게해야합니까?

답변

1

버전 1.7.0부터 지원됩니다. 여기서 릴리스 정보를 읽으십시오. http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-been-released.html

+0

불행히도, 나는 지금 업그레이드 할 자유가 없습니다. 개발 팀의 결정을 먼저해야합니다. 그러나 기능을 얻으려면 업그레이드해야한다는 사실은 제 질문에 어쨌든 대답합니다 =) 감사합니다! –

+0

글쎄, 버전 1.7.0은 1.6.0과 하위 호환이 가능하기 때문에 우리는 시맨틱 버전 관리를 사용합니다 :-) –

+0

잘 알고 있습니다! 아직 내 결정이 아니지만 프로젝트 관리자를 설득하는 것이 더 쉬울 것입니다 =) –