[Erp5-report] r31306 kazuhiko - /erp5/trunk/products/ERP5/tests/testERP5Simulation.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Dec 15 12:00:17 CET 2009


Author: kazuhiko
Date: Tue Dec 15 12:00:07 2009
New Revision: 31306

URL: http://svn.erp5.org?rev=31306&view=rev
Log:
modify test according to recent changes.
* use Quantity Accept Solver for accepting quantity decision.
* use Resource Accept Solver for accepting resource decision.

Modified:
    erp5/trunk/products/ERP5/tests/testERP5Simulation.py

Modified: erp5/trunk/products/ERP5/tests/testERP5Simulation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Simulation.py?rev=31306&r1=31305&r2=31306&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] Tue Dec 15 12:00:07 2009
@@ -105,6 +105,24 @@
       new_order_rule.validate()
 
 class TestERP5Simulation(TestERP5SimulationMixin, TestPackingList):
+  def _addSolverProcess(self, divergence, solver_portal_type):
+    solver_tool = self.portal.portal_solvers
+    # create a solver process
+    solver_process = solver_tool.newContent(portal_type='Solver Process')
+    # create a target solver
+    solver = solver_process.newContent(
+      portal_type=solver_portal_type,
+      delivery=divergence.getProperty('object_relative_url')
+      )
+    # create a solver decision
+    solver_decision = solver_process.newContent(
+      portal_type='Solver Decision',
+      causality=divergence.getProperty('tester_relative_url'),
+      delivery=divergence.getProperty('object_relative_url'),
+      solver_value=solver,
+      )
+    return solver_process
+
   def stepAcceptDecisionQuantity(self,sequence=None, sequence_list=None, **kw):
     """
     Solve quantity divergence by using solver tool.
@@ -112,25 +130,20 @@
     packing_list = sequence.get('packing_list')
     quantity_divergence = [x for x in packing_list.getDivergenceList() \
                            if x.getProperty('tested_property') == 'quantity'][0]
-    solver_tool = self.portal.portal_solvers
-    # create a solver process
-    solver_process = solver_tool.newContent(portal_type='Solver Process')
-    # create a target solver
-    solver = solver_process.newContent(
-      portal_type='Accept Solver',
-      delivery=quantity_divergence.getProperty('object_relative_url')
-      )
-    # create a solver decision
-    solver_decision = solver_process.newContent(
-      portal_type='Solver Decision',
-      causality=quantity_divergence.getProperty('tester_relative_url'),
-      delivery=quantity_divergence.getProperty('object_relative_url'),
-      solver_value=solver,
-      )
-    # Solver Decision should be indexed to find the related Solver
-    # Decision document from a Target Solver document.
-    transaction.commit()
-    self.tic()
+    solver_process = self._addSolverProcess(quantity_divergence,
+                                            'Quantity Accept Solver')
+    # then call solve() on solver process
+    solver_process.solve()
+
+  def stepAcceptDecisionResource(self,sequence=None, sequence_list=None, **kw):
+    """
+    Solve quantity divergence by using solver tool.
+    """
+    packing_list = sequence.get('packing_list')
+    resource_divergence = [x for x in packing_list.getDivergenceList() \
+                           if x.getProperty('tested_property') == 'resource'][0]
+    solver_process = self._addSolverProcess(resource_divergence,
+                                            'Resource Accept Solver')
     # then call solve() on solver process
     solver_process.solve()
 




More information about the Erp5-report mailing list