public void GetValues_GivenOrdinal_ReturnsCorrectly() { // arrange var sut = new CacheableDataReader(actualDataReader); sut.Read(); var expectedData = new object[] { "AStringValue", // StringColumn GuidData, // GuidColumn 13, // Int16Column 14, // Int32Column 15, // Int64Column DBNull.Value, // NullColumn true, // BooleanColumn 5, // ByteColumn new byte[] { 13, 37 }, // BytesColumn '!', // CharColumn new char[] { '!', '#' }, // CharsColumn DateTimeData, // DateTimeColumn 210, // DecimalColumn 1790, // DoubleColumn 1790, // FloatColumn ObjectData }; var actualData = new object[100]; // act var numberOfResults = sut.GetValues(actualData); // assert Assert.That(numberOfResults, Is.EqualTo(expectedData.Length)); Assert.That(actualData.Take(numberOfResults).ToArray(), Is.EquivalentTo(expectedData)); }