2009-03-19 13 views
12

MSTest çerçevesinde, ICollections'ı kabul eden bir CollectionAssert vardır. Benim yöntemim bir IList döndürüyor. Görünüşe göre bir liste bir koleksiyon değildir.CollectionAssert ile Birim Denetimi IList

IListimi bir ICollection yapmanın yolları var mı?

+2

Bunun için bağlantı sorunu. Genel Microsoft yanıtı, tsss. https://connect.microsoft.com/VisualStudio/feedback/details/477870/collectionassert-cannot-be-used-with-hashset-t-and-possibly-other-collections# – Rudi

cevap

9

Üzerinde ToArray() uzantısı yöntemi diyebiliriz - Dizi

Düzenleme ıcollection

uygular: Ayrıca, List<T> ICollection uygulayan ederken, IList<T> yalnızca öğeyi biliyorum eğer öyleyse, ICollection uygulamıyor hangi ICollection<T> uygular Test ... bunu döküm gerekir, bir List<T> olduğunu

+0

Parametreler için IEnumerable olduğunu düşünüyorum daha iyi bir seçim. NUnit bu hakkı var. – Gishu

1

üçüncü unsur değildir (

List<string> actual = new List<string>(){"1","2","3"}; 
    List<string> expected = new List<string>(){"1","2","**EditCaseFalse**"}; 
    CollectionAssert.AreEqual(actual,expected) 

geri Başarısız olsun bir List gönderebilir eşleşme.)

+3

ve bu soruyla tam olarak ne alakası var? –

+0

CollectionAssert'te karşılaştırılan iki liste içinde (IList) gönderiyorum, bu senin sorunun ... – salgo60

+0

Üzgünüm, cevabını yeterince okumadım. Lütfen bunun neden çalıştığına dair Lee'ye bir cevap verin, fakat benim sorunum için bir çözüm değil. –