public void TestSerializaionOfTwoComplexCollections()
        {
            var obj = new SheetWithTwoComplexCollections();

            for (var i = 0; i < 100; i++)
            {
                obj.List1.Add(new CollectionItem()
                {
                    Index          = i,
                    Value          = $"item_{i}",
                    NullbableValue = (i % 2) == 0 ? (int?)null : i
                });
            }

            obj.Array1 = obj.List1.Where(i => (i.Index % 2) == 0).ToArray();

            var deserialized = new SheetWithTwoComplexCollections();

            ExcelPackageSaveAndLoad.SaveAndLoadSheet(
                s => { XlsSheetSerializerCore.Serialize(typeof(SheetWithTwoComplexCollections), obj, s, new XlsxSerializerSettings()); },
                s =>
            {
                XlsSheetDeserializerCore.Deserialize(deserialized, s, new XlsxSerializerSettings());
            }, "twocompcol.xlsx");

            Assert.Equal(JsonConvert.SerializeObject(obj), JsonConvert.SerializeObject(deserialized));
        }
Example #2
0
        public void TestPrimitiveCollectionSerialization()
        {
            var source = new List <string>();

            for (var i = 0; i < 10; i++)
            {
                source.Add($"item_{i + 1}");
            }

            List <string> deserialized = null;

            ExcelPackageSaveAndLoad.SaveAndLoadSheet(s =>
            {
                XlsCollectionSerializerCore.SerializeCollection(typeof(string), source, s, 0, 0, new XlsxSerializerSettings());
            },
                                                     s =>
            {
                deserialized = XlsCollectionDeserializerCore.DeserializeCollection(typeof(string), s, null, 0, 0, new XlsxSerializerSettings())
                               .OfType <string>().ToList();
            });

            Assert.Equal(source.Count, deserialized.Count);

            for (var i = 0; i < source.Count; i++)
            {
                Assert.Equal(source[i], deserialized[i]);
            }
        }
Example #3
0
        public void Test2()
        {
            var model = new ListValidationCase();

            ExcelPackageSaveAndLoad.WorkbookTest(wb => { XlsWorkbookSerializerCore.SerializeWorkbook(model, wb, new XlsxSerializerSettings()); },
                                                 wb =>
            {
            },
                                                 "validation1.xlsx");
        }
Example #4
0
        public void Test()
        {
            var wbModel = TwoSheetsWorkbook.Setup();

            var deserialized = new TwoSheetsWorkbook();

            ExcelPackageSaveAndLoad.WorkbookTest(wb => { XlsWorkbookSerializerCore.SerializeWorkbook(wbModel, wb, new XlsxSerializerSettings()); },
                                                 wb =>
            {
                XlsWorkbookDeserializerCore.DeserializeWorkbook(deserialized, wb, new XlsxSerializerSettings());
            },
                                                 "workbook1.xlsx");

            Assert.Equal(JsonConvert.SerializeObject(wbModel), JsonConvert.SerializeObject(deserialized));
        }
        public void TestSerializationOfTwoCollections()
        {
            var source       = SimpleSheetWithTwoCollections.Generate();
            var deserialized = new SimpleSheetWithTwoCollections();

            ExcelPackageSaveAndLoad.SaveAndLoadSheet(s =>
            {
                XlsSheetSerializerCore.Serialize(typeof(SimpleSheetWithTwoCollections), source, s, new XlsxSerializerSettings());
            }, s =>
            {
                XlsSheetDeserializerCore.Deserialize(deserialized, s, new XlsxSerializerSettings());
            },
                                                     "twocollections.xlsx");

            Assert.Equal(string.Join(",", source.ListA), string.Join(",", deserialized.ListA));
            Assert.Equal(string.Join(",", source.ListB), string.Join(",", deserialized.ListB));
        }
Example #6
0
        public void TestCollectionSerialization(int startRow, int startCol)
        {
            var sourceCollection = ComplexCollectionItemModel.Generate(100).ToList();
            List <ComplexCollectionItemModel> deserialized = null;

            ExcelPackageSaveAndLoad.SaveAndLoadSheet(sheetToWrite =>
            {
                XlsCollectionSerializerCore.SerializeCollection(typeof(ComplexCollectionItemModel),
                                                                sourceCollection,
                                                                sheetToWrite,
                                                                startRow,
                                                                startCol,
                                                                new XlsxSerializerSettings());
            },
                                                     sheetToLoad =>
            {
                deserialized = XlsCollectionDeserializerCore.DeserializeCollection(
                    typeof(ComplexCollectionItemModel),
                    sheetToLoad,
                    () => new ComplexCollectionItemModel(),
                    startRow,
                    startCol, new XlsxSerializerSettings())
                               .OfType <ComplexCollectionItemModel>()
                               .ToList();
            }, $"collection_{startRow}_{startCol}.xlsx");

            Assert.NotNull(deserialized);

            Assert.Equal(sourceCollection.Count, deserialized.Count);

            for (var i = 0; i < sourceCollection.Count; i++)
            {
                var a = sourceCollection[i];
                var b = deserialized[i];

                Assert.Equal(a.Bool, b.Bool);
                Assert.Equal(a.Index, b.Index);
                Assert.Equal(a.Money1, b.Money1);
                Assert.Equal(a.Str1, b.Str1);
                Assert.Equal(a.Str2, b.Str2);
                Assert.Null(b.NotColumn);
            }
        }
        public void TestPrimitiveCollectionSerialization()
        {
            var model        = SimpleSheetWithPrimitiveCollection.Generate(100);
            var deserialized = new SimpleSheetWithPrimitiveCollection();

            ExcelPackageSaveAndLoad.SaveAndLoadSheet(s =>
            {
                XlsSheetSerializerCore.Serialize(typeof(SimpleSheetWithPrimitiveCollection), model, s, new XlsxSerializerSettings());
            }, s =>
            {
                XlsSheetDeserializerCore.Deserialize(deserialized, s, new XlsxSerializerSettings());
            }, "withPrimitiveCollection.xlsx");

            Assert.Equal(model.Text, deserialized.Text);
            Assert.Equal(model.StringItems.Length, deserialized.StringItems.Length);

            for (var i = 0; i < model.StringItems.Length; i++)
            {
                Assert.Equal(model.StringItems[i], deserialized.StringItems[i]);
            }
        }