public void AssertToArrayBehaviour(Func <int[]> testedAction, int inputCount, int outputCount) { StubCollection.ResetStatistics(); var array = testedAction(); Assert.AreEqual(outputCount, array.Length); StubCollection.VeryfiEnumerateBechaviourAndReset(inputCount); }
public void AssertIEnumerableBehaviour(Func <IEnumerable <int> > testedAction, int inputCount, int outputCount) { StubCollection.ResetStatistics(); var result = testedAction(); Assert.AreEqual(outputCount, result.Count()); StubCollection.VeryfiEnumerateBechaviourAndReset(inputCount); Assert.AreEqual(outputCount, Enumerate(testedAction()).count); StubCollection.VeryfiEnumerateBechaviourAndReset(inputCount); AssertCorrectEnumeratorBehaviour(testedAction().GetEnumerator()); StubCollection.VeryfiEnumerateBechaviourAndReset(inputCount); Assert.Throws <NotImplementedException>(() => testedAction().GetEnumerator().Reset()); }