public void TestIEnumerableOfAnonymousType()
 {
     // create generic list
     Func<Type, IList> toGenericList =
         type => (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(new[] { type }));
     // create generic list of anonymous type
     IList listOfAnonymousType = toGenericList(new { Name = "1", Age = 16 }.GetType());
     listOfAnonymousType.Add(new { Name = "1", Age = 16 });
     listOfAnonymousType.Add(new { Name = "2", Age = 26 });
     listOfAnonymousType.Add(new { Name = "3", Age = 36 });
     listOfAnonymousType.Add(new { Name = "4", Age = 46 });
     var r = new EnumerableDataReader(listOfAnonymousType);
     while (r.Read())
     {
         var values = new object[2];
         int count = r.GetValues(values);
         Assert.AreEqual(2, count);
         values = new object[1];
         count = r.GetValues(values);
         Assert.AreEqual(1, count);
         values = new object[3];
         count = r.GetValues(values);
         Assert.AreEqual(2, count);
         Assert.IsInstanceOf(typeof(string), r.GetValue(0));
         Assert.IsInstanceOf(typeof(int), r.GetValue(1));
         Console.WriteLine("Name: {0}, Age: {1}", r.GetValue(0), r.GetValue(1));
     }
 }
        public void ThrowsWhenValueAccessedAfterDisposal()
        {
            var localReader = new EnumerableDataReader <FakeEntity>(this.data);

            localReader.Close();

            Action act = () => localReader.GetValue(0);

            act.ShouldThrow <ObjectDisposedException>();
        }
 public void TestIEnumerableOfTCtor()
 {
     var r = new EnumerableDataReader(DataSource);
     while (r.Read())
     {
         var values = new object[2];
         int count = r.GetValues(values);
         Assert.AreEqual(2, count);
         values = new object[1];
         count = r.GetValues(values);
         Assert.AreEqual(1, count);
         values = new object[3];
         count = r.GetValues(values);
         Assert.AreEqual(2, count);
         Assert.IsInstanceOf(typeof(string), r.GetValue(0));
         Assert.IsInstanceOf(typeof(int), r.GetValue(1));
         Console.WriteLine("Name: {0}, Age: {1}", r.GetValue(0), r.GetValue(1));
     }
 } 
        public void ReturnCorrectData()
        {
            var item1 = new DataItem()
            {
                Id = 1, Name = "Item 1"
            };
            var item2 = new DataItem()
            {
                Id = 2, Name = "Item 2"
            };
            var data = new List <DataItem>(new DataItem[] { item1, item2 });

            using (var reader = new EnumerableDataReader <DataItem>(new List <DataItem>(), new string[] { "Id", "Name" }))
            {
                int itemIndex = 0;
                while (reader.Read())
                {
                    reader.GetValue(0).Should().Be(data[itemIndex].Id);
                    reader.GetValue(1).Should().Be(data[itemIndex].Name);
                    itemIndex++;
                }
            }
        }
示例#5
0
 public void DataReaderReadStruct()
 {
     var d = new TestStruct[] { new TestStruct (1, new DateTime (1997, 7, 1), 7.1f), new TestStruct (3, new DateTime (2046, 10, 1), null) };
     using (var r = new EnumerableDataReader<TestStruct> (d)) {
         var xi = r.GetOrdinal ("X");
         var yi = r.GetOrdinal ("Y");
         var zi = r.GetOrdinal ("Z");
         Assert.AreEqual (true, r.Read ());
         Assert.AreEqual (1, r.GetInt32 (xi));
         Assert.AreEqual (new DateTime (1997, 7, 1), r.GetDateTime (yi));
         Assert.AreEqual (7.1f, r.GetFloat (zi));
         Assert.AreEqual (true, r.Read ());
         Assert.AreEqual (3, r.GetInt32 (xi));
         Assert.AreEqual (new DateTime (2046, 10, 1), r.GetDateTime (yi));
         Assert.IsNull (r.GetValue (zi));
     }
 }
示例#6
0
        public void DataReaderReadStruct()
        {
            var d = new TestStruct[] { new TestStruct(1, new DateTime(1997, 7, 1), 7.1f), new TestStruct(3, new DateTime(2046, 10, 1), null) };

            using (var r = new EnumerableDataReader <TestStruct> (d)) {
                var xi = r.GetOrdinal("X");
                var yi = r.GetOrdinal("Y");
                var zi = r.GetOrdinal("Z");
                Assert.AreEqual(true, r.Read());
                Assert.AreEqual(1, r.GetInt32(xi));
                Assert.AreEqual(new DateTime(1997, 7, 1), r.GetDateTime(yi));
                Assert.AreEqual(7.1f, r.GetFloat(zi));
                Assert.AreEqual(true, r.Read());
                Assert.AreEqual(3, r.GetInt32(xi));
                Assert.AreEqual(new DateTime(2046, 10, 1), r.GetDateTime(yi));
                Assert.IsNull(r.GetValue(zi));
            }
        }
        public void ThrowsWhenValueAccessedAfterDisposal()
        {
            var localReader = new EnumerableDataReader<FakeEntity>(this.data);

            localReader.Close();

            Action act = () => localReader.GetValue(0);

            act.ShouldThrow<ObjectDisposedException>();
        }