namespace Finansnet.TaxOfficeLibraries.Jpk.DataStructures.Test { using Finansnet.TaxOfficeLibraries.Jpk.DataStructures.Serialization; using Finansnet.TaxOfficeLibraries.Jpk.DataStructures.VAT.v7m; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; [TestClass] public class SerializationTestVATv7m { [TestMethod] public void TestJpkVatSerialization() { JPK jpk = new JPK(); List sales = new List(); List buy = new List(); JPKEwidencjaSprzedazWiersz row1 = new JPKEwidencjaSprzedazWiersz(); row1.LpSprzedazy = 2m; row1.DowodSprzedazy = "23/der/234"; row1.DataSprzedazy = DateTime.Now.Date; row1.NrKontrahenta = "8272102999"; row1.NazwaKontrahenta = "Jan Kowalski Sp. z o.o."; row1.DowodSprzedazy = "234"; row1.DataWystawienia = DateTime.Now.Date; row1.K_36 = 23m; row1.K_36Specified = row1.K_36 != 0; sales.Add(row1); JPKEwidencjaZakupWiersz row2 = new JPKEwidencjaZakupWiersz(); buy.Add(row2); jpk.Naglowek = new JPKNaglowek(); jpk.Naglowek.CelZlozenia = new TNaglowekCelZlozenia() { Value = v6.TCelZlozenia._1 }; jpk.Naglowek.WariantFormularza = 1; jpk.Naglowek.KodFormularza = new TNaglowekKodFormularza() { Value = TKodFormularza.JPK_VAT }; jpk.Naglowek.Miesiac = 3; jpk.Naglowek.Rok = 2020; jpk.Naglowek.DataWytworzeniaJPK = new DateTime(2022, 3, 1); jpk.Naglowek.NazwaSystemu = "FinansNet"; jpk.Podmiot1 = new JPKPodmiot1(); jpk.Podmiot1.OsobaNiefizyczna = new TPodmiotDowolnyBezAdresuOsobaNiefizyczna() { NIP = "8312104999", PelnaNazwa = "NazwaPodmiotu", Email = "marek@wp.pl" }; jpk.Ewidencja = new JPKEwidencja(); jpk.Ewidencja.SprzedazWiersz = sales.ToArray(); jpk.Ewidencja.SprzedazWierszSpecified = true; jpk.Ewidencja.SprzedazCtrl = new JPKEwidencjaSprzedazCtrl(); jpk.Ewidencja.SprzedazCtrl.PodatekNalezny = 0m; jpk.Ewidencja.SprzedazCtrl.LiczbaWierszySprzedazy = 1m; jpk.Ewidencja.ZakupWiersz = buy.ToArray(); jpk.Ewidencja.ZakupCtrl = new JPKEwidencjaZakupCtrl(); jpk.Ewidencja.ZakupCtrl.PodatekNaliczony = 0m; jpk.Ewidencja.ZakupCtrl.LiczbaWierszyZakupow = 1m; int errorCount = 0; using (MemoryStream stream = new MemoryStream()) { Serializer.Serialize(jpk, stream); stream.Seek(0, SeekOrigin.Begin); Serializer.ValidateV7M(stream, (s, e) => { errorCount++; Debug.WriteLine(e.Message); }); stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(stream); string sample = reader.ReadToEnd(); } Assert.AreEqual(0, errorCount); } } }