[Erp5-report] r31326 jp - /erp5/trunk/products/ERP5/tests/testERP5Simulation.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Dec 16 11:38:13 CET 2009
Author: jp
Date: Wed Dec 16 11:38:13 2009
New Revision: 31326
URL: http://svn.erp5.org?rev=31326&view=rev
Log:
Comments to exlain progress directions. Some categories need to be expanded but do not need to checked for divergence. Checking divergence has a higher management cost. By not checking divergence, we reduce a bit the quality of simulation and at the same time the management costs of data. Use API of SolverTool instead of creating by handle solver processes.
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=31326&r1=31325&r2=31326&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Simulation.py [utf8] Wed Dec 16 11:38:13 2009
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
@@ -53,7 +54,7 @@
# select New Order Rule in 'SaleOrder_selectMovement' script.
script = self.portal.SaleOrder_selectMovement
- script.write(script.read().replace("'Order Rule'", "'New Order Rule'"))
+ script.write(script.read().replace("'Order Rule'", "'New Order Rule'")) # XXX-JPS Hacky
# create a New Order Rule document.
portal_rules = self.portal.portal_rules
@@ -68,19 +69,19 @@
'base_application',
'base_contribution',
'destination',
- 'destination_account',
- 'destination_function',
- 'destination_project',
- 'destination_section',
- 'price_currency',
- 'source',
- 'source_account',
- 'source_function',
- 'source_project',
- 'source_section',):
+ 'destination_account', # XXX-JPS - Needed ?
+ 'destination_function', # XXX-JPS - Needed ?
+ 'destination_project', # XXX-JPS - Needed ?
+ 'destination_section',
+ 'price_currency', # XXX-JPS - Needed ?
+ 'source',
+ 'source_account', # XXX-JPS - Needed ?
+ 'source_function', # XXX-JPS - Needed ?
+ 'source_project', # XXX-JPS - Needed ?
+ 'source_section',):
new_order_rule.newContent(
portal_type='Category Membership Divergence Tester',
- tested_property=i)
+ tested_property=i) # XXX-JPS put a title
# create category divergence testers that is also used for matching
for i in ('resource',
'variation_category',):
@@ -91,7 +92,7 @@
# create dict divergence testers that is also used for matching
for i in ('variation_property_dict',):
new_order_rule.newContent(
- portal_type='Dict Divergence Tester',
+ portal_type='Dict Divergence Tester', # XXX-JPS - better to create Variation Divergence Tester and develop the concept of abstract variation
tested_property=i,
matching_provider=1)
# create datetime divergence testers
@@ -104,7 +105,7 @@
# create float divergence testers
for i in ('quantity',):
new_order_rule.newContent(
- portal_type='Float Divergence Tester',
+ portal_type='Float Divergence Tester', # XXX-JPS Quantity Divergence Tester ? (ie. quantity unit)
tested_property=i,
use_delivery_ratio=1,
quantity=0)
@@ -113,13 +114,13 @@
class TestERP5Simulation(TestERP5SimulationMixin, TestPackingList):
def _addSolverProcess(self, divergence, solver_portal_type, **kw):
solver_tool = self.portal.portal_solvers
- # create a solver process
- solver_process = solver_tool.newContent(portal_type='Solver Process')
+ # create a solver process
+ solver_process = solver_tool.newContent(portal_type='Solver Process') # XXX-JPS use newSolverProcess API
# create a target solver
solver = solver_process.newContent(
portal_type=solver_portal_type,
- delivery=divergence.getProperty('object_relative_url'),
- **kw)
+ delivery=divergence.getProperty('object_relative_url'), # XXX-JPS Use persistent Divergence Tester - no getPropery
+ **kw) # XXX-JPS use newSolverProcess API - not need to do by hand
# create a solver decision
solver_decision = solver_process.newContent(
portal_type='Solver Decision',
@@ -135,7 +136,11 @@
"""
packing_list = sequence.get('packing_list')
quantity_divergence = [x for x in packing_list.getDivergenceList() \
- if x.getProperty('tested_property') == 'quantity'][0]
+ if x.getProperty('tested_property') == 'quantity'][0] # XXX-JPS Why not getTestedProperty ?
+ # Probably wrong API call
+ # XXX-JPS We do not need the divergence message anymore.
+ # since the divergence message == the divergence tester itself
+ # with its title, description, tested property, etc.
solver_process = self._addSolverProcess(quantity_divergence,
'Quantity Accept Solver')
# then call solve() on solver process
More information about the Erp5-report
mailing list