Ejemplo n.º 1
0
        public async Task SmokeTest()
        {
            var csvData =
                "A;a" + Environment.NewLine +
                "B;b" + Environment.NewLine +
                "C;c";

            var sb = new StringBuilder();

            using var csvWriter = new CsvWriter(sb);

            var csvDictionary = new CsvDictionary();

            csvDictionary["A"] = "a";
            csvDictionary["B"] = "b";
            csvDictionary["C"] = "c";

            await csvDictionary.StoreAsync(csvWriter);

            Assert.Equal(csvData, sb.ToString());

            using var csvReader = new CsvReader(csvData);

            Assert.NotNull(csvDictionary);

            await csvDictionary.LoadAsync(csvReader);

            Assert.Equal("a", csvDictionary["A"]);
            Assert.Equal("b", csvDictionary["B"]);
            Assert.Equal("c", csvDictionary["C"]);
        }
Ejemplo n.º 2
0
        public async Task TestEmpty()
        {
            var csvData = "";

            using var csvReader = new CsvReader(csvData);

            var csvDictionary = new CsvDictionary();

            Assert.NotNull(csvDictionary);

            await csvDictionary.LoadAsync(csvReader);
            Assert.Equal(0, csvDictionary.Count);
        }
Ejemplo n.º 3
0
        public async Task TestUseValue()
        {
            var csvData =
                "A;a" + Environment.NewLine +
                "B;b" + Environment.NewLine +
                "C;c";

            using var csvReader = new CsvReader(csvData);

            var csvDictionary = new CsvDictionary();

            Assert.NotNull(csvDictionary);

            await csvDictionary.LoadAsync(csvReader);

            csvDictionary.UseValue("A", s => Assert.Equal("a", s));
            csvDictionary.UseValue("B", s => Assert.Equal("b", s));
            csvDictionary.UseValue("C", s => Assert.Equal("c", s));
        }
Ejemplo n.º 4
0
        public async Task TestEntity()
        {
            var csvData =
                "A;22" + Environment.NewLine +
                "B;Text" + Environment.NewLine +
                "C;true" + Environment.NewLine +
                "D;01.01.2010" + Environment.NewLine +
                "e;" + Environment.NewLine +
                "G;A";

            var sb = new StringBuilder();

            using var csvWriter = new CsvWriter(sb);

            var csvDictionary = new CsvDictionary();

            csvDictionary.SetFormats<DateTime>("dd.MM.yyyy");
            csvDictionary.SetTrueFalseString<bool>("true", "false");

            csvDictionary["A"] = null;
            csvDictionary["B"] = null;
            csvDictionary["C"] = null;
            csvDictionary["D"] = null;
            csvDictionary["e"] = null;
            csvDictionary["G"] = null;

            await csvDictionary.StoreAsync(csvWriter, new SampleObject() { A = 22, B = "Text", C = true, D = new DateTime(2010, 1, 1) });

            Assert.Equal(csvData, sb.ToString());

            using var csvReader = new CsvReader(csvData);

            Assert.NotNull(csvDictionary);

            await csvDictionary.LoadAsync(csvReader);

            Assert.Equal(new SampleObject() { A = 22, B = "Text", C = true, D = new DateTime(2010, 1, 1), E = "", G = SampleEnum.A }, csvDictionary.CreateAndGetValues<SampleObject>());
        }
Ejemplo n.º 5
0
        public async Task TestTryGetValue()
        {
            var csvData =
                "A;a" + Environment.NewLine +
                "B;b" + Environment.NewLine +
                "C;c";

            using var csvReader = new CsvReader(csvData);

            var csvDictionary = new CsvDictionary();

            Assert.NotNull(csvDictionary);

            await csvDictionary.LoadAsync(csvReader);

            Assert.True(csvDictionary.TryGetValue("A", out string v1));
            Assert.Equal("a", v1);
            Assert.True(csvDictionary.TryGetValue("B", out string v2));
            Assert.Equal("b", v2);
            Assert.True(csvDictionary.TryGetValue("C", out string v3));
            Assert.Equal("c", v3);
            Assert.False(csvDictionary.TryGetValue("D", out string v4));
            Assert.Null(v4);
        }
Ejemplo n.º 6
0
        public async Task TestGetTypedValues()
        {
            var csvData =
                "A;22" + Environment.NewLine +
                "B;Text" + Environment.NewLine +
                "C;true" + Environment.NewLine +
                "D;01.01.2010" + Environment.NewLine +
                "E;A";

            using var csvReader = new CsvReader(csvData);

            var csvDictionary = new CsvDictionary();

            Assert.NotNull(csvDictionary);

            csvDictionary.SetFormats<DateTime>("dd.MM.yyyy");

            await csvDictionary.LoadAsync(csvReader);
            Assert.Equal(22, csvDictionary.GetValue<int>("A"));
            Assert.Equal("Text", csvDictionary.GetValue<string>("B"));
            Assert.True(csvDictionary.GetValue<bool>("C"));
            Assert.Equal(new DateTime(2010, 1, 1), csvDictionary.GetValue<DateTime>("D"));
            Assert.Equal(SampleEnum.A, csvDictionary.GetValue<SampleEnum>("E"));
        }