コード例 #1
0
        public void ShouldGetDefaultSchemaForCSVFile_GetValue()
        {
            FlatFileDataReader dataReader = GetFlatFileReaderWithDefaultSchema();

            Assert.IsTrue(dataReader.Read(), "The first record could not be read.");
            Assert.AreEqual(1, dataReader.GetValue <int>("Id"), "The wrong 'Id' was retrieved for 'Bob'.");
            Assert.AreEqual("Bob", dataReader.GetValue <string>("Name"), "The wrong 'Name' was retrieved for 'Bob'.");
            Assert.AreEqual(new DateTime(2018, 07, 03), dataReader.GetValue <DateTime>("CreatedOn"), "The wrong 'CreatedOn' was retrieved for 'Bob'.");
            Assert.IsTrue(dataReader.GetValue <bool>("IsActive"), "The wrong 'IsActive' was retrieved for 'Bob'");
            Assert.AreEqual(10, dataReader.GetValue <int?>("VisitCount"), "The wrong 'VisitCount' was retrieved for 'Bob'.");
            Assert.AreEqual(new Guid("DC3A6AE3-00C8-4884-AC0F-F61EB769DFEB"), dataReader.GetValue <Guid?>("UniqueId"), "The wrong 'UniqueId' was retrieved for 'Bob'.");
            Assert.AreEqual(DayOfWeek.Wednesday, dataReader.GetValue <DayOfWeek>("FavoriteDay"), "The wrong 'FavoriteDay' was retrieved for 'Bob'.");

            Assert.IsTrue(dataReader.Read(), "The second record could not be read.");
            Assert.AreEqual(2, dataReader.GetValue <int>("Id"), "The wrong 'Id' was retrieved for 'Susan'.");
            Assert.AreEqual("Susan", dataReader.GetValue <string>("Name"), "The wrong 'Name' was retrieved for 'Susan'.");
            Assert.AreEqual(new DateTime(2018, 07, 04), dataReader.GetValue <DateTime>("CreatedOn"), "The wrong 'CreatedOn' was retrieved for 'Susan'.");
            Assert.IsFalse(dataReader.GetValue <bool>("IsActive"), "The wrong 'IsActive' was retrieved for 'Susan'");
            Assert.AreEqual(null, dataReader.GetValue <int?>("VisitCount"), "The wrong 'VisitCount' was retrieved for 'Susan'.");
            Assert.AreEqual(new Guid("{24C250EB-87C9-45DE-B01F-71A7754C6AAD}"), dataReader.GetValue <Guid?>("UniqueId"), "The wrong 'UniqueId' was retrieved for 'Susan'.");
            Assert.AreEqual(DayOfWeek.Friday, dataReader.GetValue <DayOfWeek>("FavoriteDay"), "The wrong 'FavoriteDay' was retrieved for 'Susan'.");

            Assert.IsFalse(dataReader.Read(), "Too many records were read.");
        }
コード例 #2
0
        public void RunFlatFiles_FlatFileDataReader_GetValue()
        {
            var reader    = new StringReader(data);
            var schema    = GetSchema();
            var csvReader = new SeparatedValueReader(reader, schema, new SeparatedValueOptions()
            {
                IsFirstRecordSchema = true
            });
            var dataReader = new FlatFileDataReader(csvReader);
            var people     = new List <Person>();

            while (dataReader.Read())
            {
                var person = new Person()
                {
                    FirstName     = dataReader.GetValue <string>(0),
                    LastName      = dataReader.GetValue <string>(1),
                    Age           = dataReader.GetValue <int>(2),
                    Street1       = dataReader.GetValue <string>(3),
                    Street2       = dataReader.GetValue <string>(4),
                    City          = dataReader.GetValue <string>(5),
                    State         = dataReader.GetValue <string>(6),
                    Zip           = dataReader.GetValue <string>(7),
                    FavoriteColor = dataReader.GetValue <string>(8),
                    FavoriteFood  = dataReader.GetValue <string>(9),
                    FavoriteSport = dataReader.GetValue <string>(10),
                    CreatedOn     = dataReader.GetValue <DateTime?>(11),
                    IsActive      = dataReader.GetValue <bool>(12)
                };
                people.Add(person);
            }
        }