Wednesday 15 August 2012

c# - How to mock ObservableCollection -


मेरे पास निम्न है:

  वर्ग foo: ObservableCollection & lt; int32 & gt; {// स्ट्रफ} [टेस्ट] सार्वजनिक शून्य परीक्षण () {var foo = मॉक.ऑफ & lt; foo & gt; (); Int count = 0; मॉक.टेट (एफू) .सेटअप (x = & gt; x.Add (यह। कोई भी है; इंट32 & gt; ()))। कॉलबैक (() = & gt; गिनती ++); मॉक.गेट (एफू) .सेटअप (x = & gt; x.Count)। रिटर्न ((=) = गिनती); // Do Stuff}   

हालांकि, जोड़ें और गणना और विशेषकर अनुक्रमणिका [] नहीं हैं ओवरराइड। Foo class, आदि में Add कॉल करें

मुझे नहीं लगता कि आपको ऐसे आधार प्रकारों का नकली होना चाहिए क्योंकि List , ObsavableCollection , या DateTime (भले ही यह संभव था)। वे विश्वसनीय हैं और बदलने की संभावना नहीं है बस इसकी गणना में बढ़ोतरी करने की कोशिश करने के बजाय बस अपने परीक्षण में अवलोकनकॉल्क्शन का उपयोग करें। आप हमेशा राज्य-आधारित सत्यापन कर सकते हैं:

  var आइटम = नया ऑब्ज़र्वबल कलेक्शन & lt; int & gt; (); // डॉट्स सर्ट्स। यह (आइटम.काउंट, है। एक्वल टू (5));   

यदि आप अपना कस्टम प्रकार Foo का उपयोग कर रहे हैं, जो कि ObsavableCollection & lt; Int32 & gt; से विरासत में मिला है, तो आप कुछ IFoo इंटरफ़ेस जो नकली करने के लिए आसान होगा:

  सार्वजनिक वर्ग फू: अवलोकनकॉल्क्शन & lt; int32 & gt ;, IFoo    

No comments:

Post a Comment