Beispiel #1
0
        public void TestLocalized()
        {
            string NLNLTest = "Double;Float;Date\n1,1;2,2;23-12-2018 00:00:00";
            string ENUSTest = "Double;Float;Date\n1.1;2.2;12/23/2018 12:00:00 AM";


            var DeserializationOptions = new CsvDeserializationOptions
            {
                Culture   = CultureInfo.GetCultureInfo("en-us"),
                Separator = ';'
            };

            var Input = StringToStreamReader(ENUSTest);

            var Data = CsvSerializer.Deserialize <HasLocalizable>(Input, DeserializationOptions);

            Assert.Single(Data);
            Assert.Equal(1, Math.Floor(Data.First().Double));
            Assert.Equal(2, Math.Floor(Data.First().Float));
            Assert.Equal(23, Data.First().Date.Day);
            Assert.Equal(12, Data.First().Date.Month);
            Assert.Equal(2018, Data.First().Date.Year);

            DeserializationOptions.Culture = CultureInfo.GetCultureInfo("nl-nl");
            Input = StringToStreamReader(NLNLTest);
            Data  = CsvSerializer.Deserialize <HasLocalizable>(Input, DeserializationOptions);
            Assert.Single(Data);
            Assert.Equal(1, Math.Floor(Data.First().Double));
            Assert.Equal(2, Math.Floor(Data.First().Float));
            Assert.Equal(23, Data.First().Date.Day);
            Assert.Equal(12, Data.First().Date.Month);
            Assert.Equal(2018, Data.First().Date.Year);
        }
Beispiel #2
0
        public void TestSepartorConflicting()
        {
            var Reader  = StringToStreamReader("sep=,\nField1,Field2\n\"Hello\",\"World\"");
            var Options = new CsvDeserializationOptions {
                Separator = ';', UseTextQualifier = true
            };
            var Result = CsvSerializer.Deserialize <HasFields>(Reader, Options);

            Assert.Single(Result);
            Assert.Equal("Hello", Result.First().Field1);
            Assert.Equal("World", Result.First().Field2);
            Assert.Equal(','.ToString(), Options.Separator.ToString());
        }