Index: vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml =================================================================== diff -u -r2161 -r2169 --- vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml (.../TestVerwachteInvoerAPI.cls.xml) (revision 2161) +++ vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml (.../TestVerwachteInvoerAPI.cls.xml) (revision 2169) @@ -75,7 +75,7 @@ // // Uitvoer Invoer // +------------+ +------------+ - // | P1 50 | ---40----> | P1 210 | + // | P1 50 | ----40---> | P1 210 | // | P1 170 | ---170---> | | // | | +------------+ // | | +------------+ @@ -184,15 +184,117 @@ Set SamenvoegVoorstellen = VerwachteInvoerAPI.GeefSamenvoegVoorstellen(VerwachteUitvoerIDs) Do $$$AssertEquals(SamenvoegVoorstellen.Count(),1,"Er is 1 samenvoeg voorstel") Set SamenvoegVoorstel = SamenvoegVoorstellen.GetAt(1) - Do $$$AssertEquals(SamenvoegVoorstel.Aantal,15+18,"33 producten kunnen samengevoegd worden") Do $$$AssertEquals(SamenvoegVoorstel.ProductID,"P2","P2 kan worden samengevoegd") + Do $$$AssertEquals(SamenvoegVoorstel.Aantal,15+18,"33 producten kunnen samengevoegd worden") + // Voor de splitsing die we gaan doen eerst de huidige toestand controleren + Set Reservatie1LinkIterator = Reservatie1.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie1LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),40,"40 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),VerwachteInvoer1,"De verwachte invoer") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie1,"De reservatie") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is geen volgende link") + + Set Reservatie1LinkIterator = Reservatie2.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie1LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),170,"170 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),VerwachteInvoer1,"De verwachte invoer") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie2,"De reservatie") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is geen volgende link") + + // Eerste verwachte invoer splitsen in 170 - 40 + + Set VerwachteInvoerInfo = ##class(DOM.ProdRes.dto.VerwachteInvoerInfo).%New() + Set VerwachteInvoerInfo.Aantal = 40 + Set VerwachteInvoerInfo.ProductID = "P1" + Set VerwachteInvoerInfo.TransactieReferentie = "UT invoer1" + Set VerwachteInvoerInfo.TransactieLijnReferentie = "UT invoer1 lijn2" + Set NieuweVerwachteInvoer = VerwachteInvoerAPI.SplitsVerwachteInvoer(VerwachteInvoer1.%Id(),VerwachteInvoerInfo) + + // Nagaan of de splitsing correct was en of de invoer-uitvoer-linken correct zijn herlegd + + Set Reservatie1LinkIterator = Reservatie1.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie1LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),40,"40 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),NieuweVerwachteInvoer,"De verwachte invoer bij reservatie 1") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie1,"De reservatie") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is geen volgende link") + + Set Reservatie2LinkIterator = Reservatie2.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie2LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),170,"170 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),VerwachteInvoer1,"De verwachte invoer bij reservatie 2") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie2,"De reservatie") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is geen volgende link") + + // De splitsing terug samenvoegen + + Set VerwachteInvoerIDs = ##class(%ListOfDataTypes).%New() + Do VerwachteInvoerIDs.Insert(VerwachteInvoer1.%Id()) + Do VerwachteInvoerIDs.Insert(NieuweVerwachteInvoer.%Id()) + Set SamengevoegdeVerwachteInvoer = VerwachteInvoerAPI.VoegVerwachteInvoerenSamen(VerwachteInvoerIDs,"2011-09-23 08:57:19",VerwachteInvoer1.GeefTransactieReferentie(),VerwachteInvoer1.GeefTransactieLijnReferentie()) + + Do $$$AssertEquals(SamengevoegdeVerwachteInvoer.GeefAantal(),210,"Het aantal producten is terug samengevoegd") + Set InvoerUitvoerLinkIterator = SamengevoegdeVerwachteInvoer.GeefInvoerUitvoerLinkIterator() + Do $$$AssertTrue(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft zeker 1 invoer-uitvoer-link") + Do InvoerUitvoerLinkIterator.Next() + Do $$$AssertTrue(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft ook een 2de invoer-uitvoer-link") + Do InvoerUitvoerLinkIterator.Next() + Do $$$AssertFalse(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft geen 3de invoer-uitvoer-link") + + // Opnieuw opsplitsen maar nu met 180 - 30, nu moeten er een invoer-uitvoer-link opgesplitst worden + + Set VerwachteInvoerInfo = ##class(DOM.ProdRes.dto.VerwachteInvoerInfo).%New() + Set VerwachteInvoerInfo.Aantal = 30 + Set VerwachteInvoerInfo.ProductID = "P1" + Set VerwachteInvoerInfo.TransactieReferentie = "UT invoer1" + Set VerwachteInvoerInfo.TransactieLijnReferentie = "UT invoer1 lijn2" + Set NieuweVerwachteInvoer = VerwachteInvoerAPI.SplitsVerwachteInvoer(VerwachteInvoer1.%Id(),VerwachteInvoerInfo) + + // Nagaan of de splitsing correct was en of de invoer-uitvoer-linken correct zijn herlegd + + Set Reservatie1LinkIterator = Reservatie1.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie1LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),10,"10 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),VerwachteInvoer1,"De verwachte invoer bij reservatie 1") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie1,"De reservatie") + Do $$$AssertTrue(Reservatie1LinkIterator.HasNext(),"Er is een volgende link") + + Set InvoerUitvoerLink = Reservatie1LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),30,"30 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),NieuweVerwachteInvoer,"De verwachte invoer bij reservatie 1") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie1,"De reservatie van de gesplitste link") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is geen volgende link") + + Set Reservatie2LinkIterator = Reservatie2.GeefInvoerUitvoerLinkIterator() + Set InvoerUitvoerLink = Reservatie2LinkIterator.Next() + Do $$$AssertEquals(InvoerUitvoerLink.GeefAantalProducten(),170,"170 producten gelinkt") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteInvoer(),VerwachteInvoer1,"De verwachte invoer bij reservatie 2") + Do $$$AssertEquals(InvoerUitvoerLink.GeefVerwachteUitvoerReservatie(),Reservatie2,"De reservatie") + Do $$$AssertFalse(Reservatie1LinkIterator.HasNext(),"Er is een volgende link") + + // De splitsing terug samenvoegen, ook de gesplitste invoer-uitvoer-link moet samengevoegd zijn + + Set VerwachteInvoerIDs = ##class(%ListOfDataTypes).%New() + Do VerwachteInvoerIDs.Insert(VerwachteInvoer1.%Id()) + Do VerwachteInvoerIDs.Insert(NieuweVerwachteInvoer.%Id()) + Set SamengevoegdeVerwachteInvoer = VerwachteInvoerAPI.VoegVerwachteInvoerenSamen(VerwachteInvoerIDs,"2011-09-23 08:57:19",VerwachteInvoer1.GeefTransactieReferentie(),VerwachteInvoer1.GeefTransactieLijnReferentie()) + + Do $$$AssertEquals(SamengevoegdeVerwachteInvoer.GeefAantal(),210,"Het aantal producten is terug samengevoegd") + Set InvoerUitvoerLinkIterator = SamengevoegdeVerwachteInvoer.GeefInvoerUitvoerLinkIterator() + Do $$$AssertTrue(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft zeker 1 invoer-uitvoer-link") + Do InvoerUitvoerLinkIterator.Next() + Do $$$AssertTrue(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft ook een 2de invoer-uitvoer-link") + Do InvoerUitvoerLinkIterator.Next() + Do $$$AssertFalse(InvoerUitvoerLinkIterator.HasNext(),"De verwachte invoer heeft geen 3de invoer-uitvoer-link") + // Opkuis data Do VerwachteUitvoer.%DeleteId(VerwachteUitvoer.%Id()) Do VerwachteInvoer1.%DeleteId(VerwachteInvoer1.%Id()) Do VerwachteInvoer2.%DeleteId(VerwachteInvoer2.%Id()) Do VerwachteInvoer3.%DeleteId(VerwachteInvoer3.%Id()) + Do NieuweVerwachteInvoer.%DeleteId(NieuweVerwachteInvoer.%Id()) ]]> @@ -213,22 +315,24 @@ %Status