mit Microsoft.VisualStudio.TestTools.UnitTesting;C# Vergleichslisten Liste <T>
Ich mag universelle Testverfahren, das Wörterbuch und Funktion erhält, und dann Gleichheit prüft für jeden Wörterbucheintrag zwischen Wert und Funktion (Key):
public void TestMethod<TKey, TValue>(Dictionary<TKey, TValue> dict, Func<TKey, TValue> func)
{
foreach (var test in dict)
{
Assert.AreEqual(test.Value, func(test.Key));
}
}
Aber wenn Werte (und Rückgabewert der Funktion) ist
List<int>
es funktioniert natürlich nicht. Also, ich fand als ich
CollectionAssert.AreEqual
für solche Fälle. Aber jetzt muss ich sagen, dass mein Wert System.Collections.ICollection ist. Wie macht man das?
Ich weiß. Aber ich bekomme den Fehler "Kann nicht von TValue in System.Collections.ICollection konvertieren". Ich nehme an, ich muss irgendwie sagen, dass TValue kann System.Collections.ICollection – dmitry