मेरे पास एक ऐसी विधि है जिसमें एक ऐसी विधि है जो एक परिणाम ऑब्जेक्ट देता है जिसमें फ़ंक प्रकार की संपत्ति होती है।मैं एक सी # फ़ंक्शन का परीक्षण कैसे करूं जो एक Func <something> देता है?
class Result {
public Func<Result> NextAction { get; set; }
}
मैं इस Func की सामग्री के संबंध में एक इकाई परीक्षण दावा कैसे लिखूं? निम्नलिखित स्पष्ट रूप से काम नहीं करता है, क्योंकि संकलक लैम्ब्डा के लिए दो अलग अलग तरीकों उत्पन्न करता है:
// Arrange
ListController controller = new ListController(domain);
// Act
Result actual = controller.DefaultAction();
// Assert
Func<Result> expected =() => new ProductsController(domain).ListAction();
Assert.That(actual.NextAction, Is.EqualTo(expected));
मेरा अनुमान है कि मैं बजाय अभिव्यक्ति के पेड़ का उपयोग करके ऐसा कर सकते हैं, लेकिन ... वहाँ एक रास्ता से बचने के लिए है ऐसा करने से? मैं NUnit 2.5 का उपयोग कर रहा हूँ।
संपादित करें: परिणाम वस्तु में कोई अन्य पहचान फ़ील्ड नहीं हैं। यह वर्तमान वस्तु/विधि में किए गए निर्णय के आधार पर अगली वस्तु/विधि का आह्वान करने का एक तरीका है।
क्योंकि फंक एक ही समस्या के साथ एक और परिणाम वस्तु देता है! – goofballLogic
फिर आपको परिणाम को पहचानने और उस – Marek
के आधार पर समानता निर्धारित करने की आवश्यकता है जो फ़ंक के इरादे का वर्णन करने वाली मनमानी स्ट्रिंग की तरह है? – goofballLogic