public void GetEnumerator_WhenCalled_ReturnsCorrectly() { // arrange var sut = new CacheableDataReader(actualDataReader); // act var actual = sut.GetEnumerator(); // assert Assert.That(actual, Is.Not.Null); // <- only sane thing to check directly? Assert.That(sut.Cast<IDataRecord>().Count(), Is.EqualTo(1)); // <- implies GetEnumerator, probably brittle }