[Erp5-report] r31380 kazuhiko - /erp5/trunk/products/ERP5/tests/testERP5Simulation.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Dec 17 17:20:42 CET 2009
Author: kazuhiko
Date: Thu Dec 17 17:20:41 2009
New Revision: 31380
URL: http://svn.erp5.org?rev=31380&view=rev
Log:
* do not create target solver document manually, but use SolverTool.buildTargetSolverList() API.
* invoke builder to make split deliveries manually.
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=31380&r1=31379&r2=31380&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] Thu Dec 17 17:20:41 2009
@@ -129,11 +129,9 @@
quantity_solver_decision = filter(
lambda x:x.getCausalityValue().getTestedProperty()=='quantity',
solver_process.contentValues())[0]
- # create a target solver
- solver = solver_process.newContent(
- portal_type='Quantity Accept Solver',
- delivery_list=quantity_solver_decision.getDeliveryList())
- quantity_solver_decision.setSolverValue(solver)
+ # use Quantity Accept Solver.
+ quantity_solver_decision.setSolverValue(self.portal.portal_types['Quantity Accept Solver'])
+ solver_process.buildTargetSolverList()
solver_process.solve()
# XXX-JPS We do not need the divergence message anymore.
# since the divergence message == the divergence tester itself
@@ -149,11 +147,9 @@
resource_solver_decision = filter(
lambda x:x.getCausalityValue().getTestedProperty()=='resource',
solver_process.contentValues())[0]
- # create a target solver
- solver = solver_process.newContent(
- portal_type='Resource Accept Solver',
- delivery_list=resource_solver_decision.getDeliveryList())
- resource_solver_decision.setSolverValue(solver)
+ # use Resource Accept Solver.
+ resource_solver_decision.setSolverValue(self.portal.portal_types['Resource Accept Solver'])
+ solver_process.buildTargetSolverList()
solver_process.solve()
def stepSplitAndDeferPackingList(self, sequence=None, sequence_list=None, **kw):
@@ -166,16 +162,29 @@
quantity_solver_decision = filter(
lambda x:x.getCausalityValue().getTestedProperty()=='quantity',
solver_process.contentValues())[0]
- # create a target solver
+ # use Quantity Split Solver.
+ quantity_solver_decision.setSolverValue(self.portal.portal_types['Quantity Split Solver'])
+ # configure for Quantity Split Solver.
kw = {'delivery_solver':'FIFO',
'start_date':self.datetime + 15,
'stop_date':self.datetime + 25}
- solver = solver_process.newContent(
- portal_type='Quantity Accept Solver',
- delivery_list=quantity_solver_decision.getDeliveryList(),
- **kw)
- quantity_solver_decision.setSolverValue(solver)
+ quantity_solver_decision.updateConfiguration(**kw)
+ solver_process.buildTargetSolverList()
solver_process.solve()
+ # build split deliveries manually. XXX ad-hoc
+ previous_tag = None
+ for delivery_builder in packing_list.getBuilderList():
+ this_builder_tag = '%s_split_%s' % (packing_list.getPath(),
+ delivery_builder.getId())
+ after_tag = []
+ if previous_tag:
+ after_tag.append(previous_tag)
+ delivery_builder.activate(
+ after_method_id=('solve',
+ 'immediateReindexObject',
+ 'recursiveImmediateReindexObject',), # XXX too brutal.
+ after_tag=after_tag,
+ ).build(explanation_uid=packing_list.getCausalityValue().getUid())
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list