استخدام Hamcrest لمقارنة كل عنصر في قائمتين منفصلتين مع مطابقة خاصة

StackOverflow https://stackoverflow.com/questions/3548787

  •  30-09-2019
  •  | 
  •  

سؤال

أحاول مقارنة قائمتين مع بعضهما البعض:

ListA (a1,a2,a3,...)
ListB (b1,b2,b3,...)

أريد أن تتم مقارنة A1 بـ B1 ، A2 إلى B2 ، A3 إلى B3 ، ....

لكن لا بد لي من استخدام طريقة أخرى ولا يمكنني استخدام .equals!

لقد كتبت مطابقة Hamcrest الخاصة بي. لكن لا بد لي من استخدام حلقة للتكرار على العناصر. هل هناك حل أفضل؟

for(int i = 0;i<expected.size();i++){
   assertThat(item.get(i),equalsModel(expected.get(0)));
}
هل كانت مفيدة؟

المحلول

ماذا عن استخدام التكرار بدلاً من ذلك؟

for(
    Iterator<String> it1 = list1.iterator(), it2 = list2.iterator();
    it1.hasNext() && it2.hasNext();
){
    assertThat(it1.next(),equalsModel(it2.next()));
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top