Example #1
0
        public void ExportImportExport()
        {
            IDocumentFormatDefinition <Person> definition = GetDefinition();
            string        exportData1  = definition.Export(GetPocoList());
            List <Person> importResult = definition.Import(new StringReader(exportData1));
            string        exportData2  = definition.Export(importResult);

            Assert.AreEqual(exportData1, exportData2);
        }
Example #2
0
        public void Add_Columns_Manually_Test()
        {
            Type type = typeof(Measurement);

            DocumentFormatDefinitionBuilder <Measurement> builder = new DocumentFormatDefinitionBuilder <Measurement>("\t", true)
                                                                    .SetCommentString("'")
                                                                    .SetExportHeaderLine(true, "' ");

            builder.AddColumn(type.GetProperty("Name"));
            builder.AddColumn(type.GetProperty("X"), "0.000");
            builder.AddColumn(type.GetProperty("Y"), "0.000");
            builder.AddColumn(type.GetProperty("Z"), "0.000");
            builder.AddColumn(type.GetProperty("DateTime"), "dd.MM.yyyy HH:mm:ss");
            builder.AddColumn(type.GetProperty("IsActive"));

            IDocumentFormatDefinition <Measurement> definition = builder.Build();

            string exportResult = definition.Export(new[] { _measurement });

            Assert.AreEqual(@"' Name    X       Y       Z       DateTime            IsActive
Point01	10.000	20.000	30.000	03.03.2013 14:48:00	T"    , exportResult);

            List <Measurement> importList = definition.Import(exportResult);

            AssertAreEqual(importList);
        }
Example #3
0
        public void AutoBuild_Test()
        {
            IDocumentFormatDefinition <Measurement> definition = DocumentFormatDefinitionBuilder <Measurement> .AutoBuild("\t", true, "'", true, "' ");

            string             exportResult = definition.Export(new[] { _measurement });
            List <Measurement> importList   = definition.Import(exportResult);

            AssertAreEqual(importList);
        }
        public void DataOverflowInColumn_ThrowsExportException()
        {
            DocumentFormatDefinitionBuilder <ChequeRow> definition = GetDefinition();
            var record = new ChequeRow()
            {
                AccountNo = 1234567890123                  // Overflowed
            };
            IDocumentFormatDefinition <ChequeRow> document = definition.Build();

            Assert.Throws <ExportException>(() => document.Export(new ChequeRow[] { record }));
        }
Example #5
0
        public void ExportPoco()
        {
            IDocumentFormatDefinition <SimplePoco> definition = GetPocoDefinition();

            var poco = new SimplePoco {
                Int32Prop = Int32PropValue1, StringProp = StringPropValue1
            };
            string result = definition.Export(new List <SimplePoco> {
                poco
            });

            Assert.AreEqual(StringPropValue1 + "\t" + Int32PropValue1, result);
        }
Example #6
0
        public void ImportExport()
        {
            IDocumentFormatDefinition <State> definition = GetDefinition();

            using (var reader = new StreamReader("Data\\states.csv", Encoding.GetEncoding(1252)))
            {
                string fileContent = reader.ReadToEnd();

                List <State> allStates = definition.Import(new StringReader(fileContent), 1);

                var exportResult = definition.Export(allStates);

                Assert.AreEqual(fileContent, exportResult);
            }
        }
Example #7
0
        public void NoDefaultConstructorTest()
        {
            var measurements = new List <GpsLocation>()
            {
                new GpsLocation(48.3224, 18.3224)
            };

            IDocumentFormatDefinition <GpsLocation> definition = GetDefinition();

            string             exportResult = definition.Export(measurements);
            List <GpsLocation> importResult = definition.Import(new StringReader(exportResult));

            Assert.AreEqual(1, importResult.Count);
            Assert.AreEqual(measurements[0].Lat, importResult[0].Lat);
            Assert.AreEqual(measurements[0].Lon, importResult[0].Lon);
        }
Example #8
0
        public void ExportTest()
        {
            IDocumentFormatDefinition <Location> definition = GetDefinition();

            List <Location> importResult = definition.Import(new StringReader(ExampleCsv));

            string exportResult = definition.Export(importResult);

            string[] expectedLines = ExampleCsv.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries);
            string[] actualLines   = exportResult.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries);

            Assert.AreEqual(expectedLines.Length, actualLines.Length);

            for (int i = 0; i < expectedLines.Length; i++)
            {
                Assert.AreEqual(expectedLines[i], actualLines[i]);
            }
        }
Example #9
0
        public void ExportMultiplePocos()
        {
            IDocumentFormatDefinition <SimplePoco> definition = GetPocoDefinition();

            var pocoList = new List <SimplePoco>
            {
                new SimplePoco {
                    Int32Prop = Int32PropValue1, StringProp = StringPropValue1
                },
                new SimplePoco {
                    Int32Prop = Int32PropValue2, StringProp = StringPropValue2
                }
            };

            string result = definition.Export(pocoList);

            Assert.AreEqual(StringPropValue1 + "\t" + Int32PropValue1 + "\r\n" + StringPropValue2 + "\t" + Int32PropValue2, result);
        }
Example #10
0
        public void PropertyList_Test()
        {
            var propertyList = new List <PropertyInfo>
            {
                typeof(Measurement).GetProperty("Name"),
                typeof(Measurement).GetProperty("X"),
                typeof(Measurement).GetProperty("Y"),
                typeof(Measurement).GetProperty("Z"),
                typeof(Measurement).GetProperty("DateTime"),
                typeof(Measurement).GetProperty("IsActive"),
            };

            IDocumentFormatDefinition <Measurement> definition = DocumentFormatDefinitionBuilder <Measurement> .Build(propertyList, "\t", true, "'", true, "' ");

            string             exportResult = definition.Export(new[] { _measurement });
            List <Measurement> importList   = definition.Import(exportResult);

            AssertAreEqual(importList);
        }
Example #11
0
        public void ColumnSeparatorInColumn()
        {
            var location = new Location()
            {
                Name = "House;Green", X = 12.24, Y = 34.213, Z = 12.1231231
            };

            IDocumentFormatDefinition <Location> definition = GetDefinition();
            string exportResult = definition.Export(new[] { location });

            List <Location> importResult = definition.Import(exportResult);

            Assert.AreEqual(1, importResult.Count);

            Assert.AreEqual(location.Name, importResult.First().Name);
            Assert.AreEqual(location.X, importResult.First().X);
            Assert.AreEqual(location.Y, importResult.First().Y);
            Assert.AreEqual(location.Z, importResult.First().Z);
        }
Example #12
0
        public void ExportQuotedStrings()
        {
            var location = new Location()
            {
                Name = "House \"Red\"", X = 12.24, Y = 34.213, Z = 12.1231231
            };

            IDocumentFormatDefinition <Location> definition = GetDefinition();
            string exportResult = definition.Export(new[] { location });

            List <Location> importResult = definition.Import(exportResult);

            Assert.AreEqual(1, importResult.Count);
            Assert.AreEqual(2, importResult.First().Name.Count(x => x == '"'));

            Assert.AreEqual(location.Name, importResult.First().Name);
            Assert.AreEqual(location.X, importResult.First().X);
            Assert.AreEqual(location.Y, importResult.First().Y);
            Assert.AreEqual(location.Z, importResult.First().Z);
        }
Example #13
0
        public void Test()
        {
            const int          count = 100000;
            List <Measurement> list  = CreateList(count);
            IDocumentFormatDefinition <Measurement> definition = GetDefinition();

            Stopwatch sw           = Stopwatch.StartNew();
            string    exportResult = definition.Export(list);

            sw.Stop();

            Console.WriteLine(sw.ElapsedMilliseconds);
            double perSec = Math.Round(count / (double)sw.ElapsedMilliseconds * 1000);

            Console.WriteLine("Export: " + perSec + " pocos/sec");
            Console.WriteLine();

            sw = Stopwatch.StartNew();
            List <Measurement> importList = definition.Import(new StringReader(exportResult));

            sw.Stop();

            Console.WriteLine(sw.ElapsedMilliseconds);
            perSec = Math.Round(count / (double)sw.ElapsedMilliseconds * 1000);
            Console.WriteLine("Import: " + perSec + " pocos/sec");


            for (int i = 0; i < count; i++)
            {
                Assert.AreEqual(list[i].Name, importList[i].Name);
                Assert.IsTrue(Math.Abs((list[i].DateTime - importList[i].DateTime).TotalMinutes) < 1);
                Assert.AreEqual(list[i].X, importList[i].X);
                Assert.AreEqual(list[i].Y, importList[i].Y);
                Assert.AreEqual(list[i].Z, importList[i].Z);
                Assert.AreEqual(list[i].IsActive, importList[i].IsActive);
            }
        }