From 19475a271701f0964d161be91b63216ded813c0f Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Wed, 23 Dec 2009 10:08:25 +0000 Subject: [PATCH] override adopt prevision steps using solver tool API. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31430 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testERP5Simulation.py | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/product/ERP5/tests/testERP5Simulation.py b/product/ERP5/tests/testERP5Simulation.py index 250ccdd928..9ebdf36d0c 100644 --- a/product/ERP5/tests/testERP5Simulation.py +++ b/product/ERP5/tests/testERP5Simulation.py @@ -372,6 +372,50 @@ class TestERP5SimulationPackingList(TestERP5SimulationMixin, TestPackingList): after_tag=after_tag, ).build(explanation_uid=packing_list.getCausalityValue().getUid()) + def _adoptPrevisionQuantity(self, packing_list): + """ + Solve quantity divergence by using solver tool. + """ + solver_tool = self.portal.portal_solvers + solver_process = solver_tool.newSolverProcess(packing_list) + quantity_solver_decision = filter( + lambda x:x.getCausalityValue().getTestedProperty()=='quantity', + solver_process.contentValues())[0] + # use Quantity Adoption Solver. + quantity_solver_decision.setSolverValue(self.portal.portal_types['Quantity Adoption Solver']) + solver_process.buildTargetSolverList() + solver_process.solve() + + def stepAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw): + """ + Solve quantity divergence by using solver tool. + """ + packing_list = sequence.get('packing_list') + self._adoptPrevisionQuantity(packing_list) + + def stepNewPackingListAdoptPrevisionQuantity(self, sequence=None, + sequence_list=None, **kw): + """ + Solve quantity divergence by using solver tool. + """ + packing_list = sequence.get('new_packing_list') + self._adoptPrevisionQuantity(packing_list) + + def stepAdoptPrevisionResource(self,sequence=None, sequence_list=None, **kw): + """ + Solve resource divergence by using solver tool. + """ + packing_list = sequence.get('packing_list') + solver_tool = self.portal.portal_solvers + solver_process = solver_tool.newSolverProcess(packing_list) + resource_solver_decision = filter( + lambda x:x.getCausalityValue().getTestedProperty()=='resource', + solver_process.contentValues())[0] + # use Resource Adopt Solver. + resource_solver_decision.setSolverValue(self.portal.portal_types['Resource Adoption Solver']) + solver_process.buildTargetSolverList() + solver_process.solve() + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestERP5Simulation)) -- 2.30.9