मान लें कि मैं इस हस्ताक्षर के साथ एक विधि का परीक्षण करना चाहता हूं:
List<MyItem> getMyItems();
मान लें MyItem
कि एक पूजो है जिसमें कई गुण हैं, जिनमें से एक के "name"
माध्यम से पहुँचा जाता है getName()
।
मुझे इस बात की परवाह है कि सत्यापन के लिए दो List<MyItem>
या Iterable
दो MyItem
उदाहरण हैं, जिनके "name"
गुणों में मूल्य "foo"
और हैं "bar"
। यदि कोई अन्य गुण मेल नहीं खाते हैं, तो मैं वास्तव में इस परीक्षण के उद्देश्यों की परवाह नहीं करता हूं। यदि नाम मेल खाते हैं, तो यह एक सफल परीक्षा है।
मैं चाहूंगा कि अगर संभव हो तो वन-लाइनर बनना चाहिए। यहाँ कुछ "छद्म-वाक्य-विन्यास" है जिस तरह की चीज़ मैं करना चाहता हूँ।
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
क्या इस प्रकार की चीज के लिए हैमरेस्ट अच्छा होगा? यदि हां, तो वास्तव में ऊपर मेरे छद्म वाक्य-विन्यास का हैमरेस्ट संस्करण क्या होगा?