using Nyanlabs.Umogen.Core.Models; namespace Nyanlabs.Umogen.CoreTests; public class NLSerializationTests { private Person ModelEmployer => new("Kotek", "Miauczyński", "CBS4327563", "04281308999", new DateTime(2004, 08, 13)); private Person ModelEmployee => new("Miau", "Kotczyński", "CBS69696969", "76011694336", new DateTime(1976, 1, 16)); [Fact] public void FullDocumentNLTest() { // Given UmoDocument doc = new(UmoDoctype.CONTR_EMPLOYMENT, ModelEmployer, ModelEmployee); // When var query = doc.NLQuerySerialize(); // Then Assert.Equal($"Umowa o Pracę for {ModelEmployee.NLQuerySerialize()} working for {ModelEmployer.NLQuerySerialize()}; valid for unspecified time.", query); } [Fact] public void FullDocumentNLTestSpecifiedTime() { // Given UmoDocument doc = new(UmoDoctype.CONTR_EMPLOYMENT, ModelEmployer, ModelEmployee, new(new DateTime(2023, 11, 17), TimeSpan.FromDays(1))); // When var query = doc.NLQuerySerialize(); // Then Assert.Equal($"Umowa o Pracę for {ModelEmployee.NLQuerySerialize()} working for {ModelEmployer.NLQuerySerialize()}; valid from 17 Nov 2023 until 18 Nov 2023.", query); } [Fact] public void PersonNLTest() { // Given Person p = ModelEmployer; // When var query = p.NLQuerySerialize(); // Then Assert.Equal("Kotek Miauczyński; PESEL 04281308999; ID series CBS4327563; born 13 Aug 2004", query); } private LegalEntity ModelCompany => new() { Name = "Nyanbyte P.S.A.", Nip = "1313131313", Headquarters = "Miaumiaśna 13, Miauczki", Representative = ModelEmployer }; [Fact] public void CompanySerializationTest() { // Given LegalEntity company = ModelCompany; // When var query = company.NLQuerySerialize(); // Then Assert.Equal("Nyanbyte P.S.A.; with NIP 1313131313; located in Miaumiaśna 13, Miauczki; represented by Kotek Miauczyński", query); } }