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)); }
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]); } }
public void Test2() { var model = new ListValidationCase(); ExcelPackageSaveAndLoad.WorkbookTest(wb => { XlsWorkbookSerializerCore.SerializeWorkbook(model, wb, new XlsxSerializerSettings()); }, wb => { }, "validation1.xlsx"); }
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)); }
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]); } }