예제 #1
0
        public void TestReadToEndWithParameteredConstructor([Values(EndOfLine.CRLF, EndOfLine.LF, EndOfLine.CR)] EndOfLine eol)
        {
            var csv      = string.Format("1,2,3,4,5{0}6,7,8{0}", eol.AsNewline());
            var settings = new CsvReaderSettings()
            {
                RecordDelimiter = eol,
            };

            using (var stringReader = new StringReader(csv))
                using (var reader = new CsvReader(stringReader, settings))
                {
                    var records = reader.ReadToEnd <RecordWithParameteredConstructor>().ToList();
                    Assert.That(records.Count, Is.EqualTo(2));
                    var record = records[0];
                    Assert.That(record, Is.Not.Null);
                    Assert.That(record.Column1, Is.EqualTo(1));
                    Assert.That(record.Column2, Is.EqualTo(2));
                    Assert.That(record.Column3, Is.EqualTo(3));
                    //Assert.That(record.Column4, Is.EqualTo(4));
                    Assert.That(record.Column5, Is.EqualTo(5));
                    record = records[1];
                    Assert.That(record, Is.Not.Null);
                    Assert.That(record.Column1, Is.EqualTo(6));
                    Assert.That(record.Column2, Is.EqualTo(7));
                    Assert.That(record.Column3, Is.EqualTo(8));
                    //Assert.That(record.Column4, Is.EqualTo(default(int)));
                    Assert.That(record.Column5, Is.EqualTo(-1));
                }
        }
예제 #2
0
        public void TestReadToEndGeneric([Values(EndOfLine.CRLF, EndOfLine.LF, EndOfLine.CR)] EndOfLine eol)
        {
            var headerLine = "string1,int1,double1,parsed1,ignored1,string2,int2,double2,parsed2,ignored2";
            var csv        = string.Format(
                "{0}{1}" +
                "hello,1,-4.0,一,_,world,-1,3.0,二,_{1}" +
                "good,2,NA,NA,_,bye,0,NA,NA,_{1}",
                headerLine, eol.AsNewline()
                );
            var settings = new CsvReaderSettings()
            {
                RecordDelimiter = eol,
            };

            using (var stringReader = new StringReader(csv))
                using (var reader = new CsvReader(stringReader, settings))
                {
                    Assert.That(reader.MoveNext(), Is.True);
                    var header = reader.Current.ToArray();
                    reader.SetHeader(header);
                    Assert.That(header, Is.Not.Null);
                    Assert.That(header, Is.EquivalentTo(headerLine.Split(',')));
                    var records = reader.ReadToEnd <PartialRecord>().ToList();
                    Assert.That(records.Count, Is.EqualTo(2));
                    Assert.That(reader.MoveNext(), Is.False);
                    var record = records[0];
                    Assert.That(record, Is.Not.Null);
                    Assert.That(record.StringField, Is.EqualTo("hello"));
                    Assert.That(record.IntField, Is.EqualTo(1));
                    Assert.That(record.NullableDoubleField, Is.EqualTo(-4.0));
                    Assert.That(record.ParsedField, Is.EqualTo(1));
                    Assert.That(record.IgnoredField, Is.EqualTo(default(object)));
                    Assert.That(record.StringProperty, Is.EqualTo("world"));
                    Assert.That(record.IntProperty, Is.EqualTo(-1));
                    Assert.That(record.NullableDoubleProperty, Is.EqualTo(3.0));
                    Assert.That(record.ParsedProperty, Is.EqualTo(2));
                    Assert.That(record.IgnoredProperty, Is.EqualTo(default(int)));
                    record = records[1];
                    Assert.That(record, Is.Not.Null);
                    Assert.That(record.StringField, Is.EqualTo("good"));
                    Assert.That(record.IntField, Is.EqualTo(2));
                    Assert.That(record.NullableDoubleField, Is.Null);
                    Assert.That(record.ParsedField, Is.Null);
                    Assert.That(record.IgnoredField, Is.EqualTo(default(object)));
                    Assert.That(record.StringProperty, Is.EqualTo("bye"));
                    Assert.That(record.IntProperty, Is.EqualTo(0));
                    Assert.That(record.NullableDoubleProperty, Is.Null);
                    Assert.That(record.ParsedProperty, Is.Null);
                    Assert.That(record.IgnoredProperty, Is.EqualTo(default(int)));
                }
        }
예제 #3
0
 public void TestReadToEndGeneric([Values(EndOfLine.CRLF, EndOfLine.LF, EndOfLine.CR)] EndOfLine eol)
 {
     var headerLine = "string1,int1,double1,parsed1,ignored1,string2,int2,double2,parsed2,ignored2";
      var csv = string.Format(
     "{0}{1}" +
        "hello,1,-4.0,一,_,world,-1,3.0,二,_{1}" +
           "good,2,NA,NA,_,bye,0,NA,NA,_{1}",
     headerLine, eol.AsNewline()
     );
      var settings = new CsvReaderSettings()
      {
     RecordDelimiter = eol,
      };
      using (var stringReader = new StringReader(csv))
      using (var reader = new CsvReader(stringReader, settings))
      {
     Assert.That(reader.MoveNext(), Is.True);
     var header = reader.Current.ToArray();
     reader.SetHeader(header);
     Assert.That(header, Is.Not.Null);
     Assert.That(header, Is.EquivalentTo(headerLine.Split(',')));
     var records = reader.ReadToEnd<PartialRecord>().ToList();
     Assert.That(records.Count, Is.EqualTo(2));
     Assert.That(reader.MoveNext(), Is.False);
     var record = records[0];
     Assert.That(record, Is.Not.Null);
     Assert.That(record.StringField, Is.EqualTo("hello"));
     Assert.That(record.IntField, Is.EqualTo(1));
     Assert.That(record.NullableDoubleField, Is.EqualTo(-4.0));
     Assert.That(record.ParsedField, Is.EqualTo(1));
     Assert.That(record.IgnoredField, Is.EqualTo(default(object)));
     Assert.That(record.StringProperty, Is.EqualTo("world"));
     Assert.That(record.IntProperty, Is.EqualTo(-1));
     Assert.That(record.NullableDoubleProperty, Is.EqualTo(3.0));
     Assert.That(record.ParsedProperty, Is.EqualTo(2));
     Assert.That(record.IgnoredProperty, Is.EqualTo(default(int)));
     record = records[1];
     Assert.That(record, Is.Not.Null);
     Assert.That(record.StringField, Is.EqualTo("good"));
     Assert.That(record.IntField, Is.EqualTo(2));
     Assert.That(record.NullableDoubleField, Is.Null);
     Assert.That(record.ParsedField, Is.Null);
     Assert.That(record.IgnoredField, Is.EqualTo(default(object)));
     Assert.That(record.StringProperty, Is.EqualTo("bye"));
     Assert.That(record.IntProperty, Is.EqualTo(0));
     Assert.That(record.NullableDoubleProperty, Is.Null);
     Assert.That(record.ParsedProperty, Is.Null);
     Assert.That(record.IgnoredProperty, Is.EqualTo(default(int)));
      }
 }
예제 #4
0
 public void TestReadToEndWithParameteredConstructor([Values(EndOfLine.CRLF, EndOfLine.LF, EndOfLine.CR)] EndOfLine eol)
 {
     var csv = string.Format("1,2,3,4,5{0}6,7,8{0}", eol.AsNewline());
      var settings = new CsvReaderSettings()
      {
     RecordDelimiter = eol,
      };
      using (var stringReader = new StringReader(csv))
      using (var reader = new CsvReader(stringReader, settings))
      {
     var records = reader.ReadToEnd<RecordWithParameteredConstructor>().ToList();
     Assert.That(records.Count, Is.EqualTo(2));
     var record = records[0];
     Assert.That(record, Is.Not.Null);
     Assert.That(record.Column1, Is.EqualTo(1));
     Assert.That(record.Column2, Is.EqualTo(2));
     Assert.That(record.Column3, Is.EqualTo(3));
     //Assert.That(record.Column4, Is.EqualTo(4));
     Assert.That(record.Column5, Is.EqualTo(5));
     record = records[1];
     Assert.That(record, Is.Not.Null);
     Assert.That(record.Column1, Is.EqualTo(6));
     Assert.That(record.Column2, Is.EqualTo(7));
     Assert.That(record.Column3, Is.EqualTo(8));
     //Assert.That(record.Column4, Is.EqualTo(default(int)));
     Assert.That(record.Column5, Is.EqualTo(-1));
      }
 }