[Erp5-report] r31246 aurel - /erp5/trunk/products/ERP5/tests/testTradeModelLine.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 11 16:41:04 CET 2009


Author: aurel
Date: Fri Dec 11 16:41:02 2009
New Revision: 31246

URL: http://svn.erp5.org?rev=31246&view=rev
Log:
add a test with prooves that findSpecialiseValueList does not work if
we provide portal_type_list parameter and an at least 3 level
inheritance tree

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

Modified: erp5/trunk/products/ERP5/tests/testTradeModelLine.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTradeModelLine.py?rev=31246&r1=31245&r2=31246&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTradeModelLine.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTradeModelLine.py [utf8] Fri Dec 11 16:41:02 2009
@@ -1441,7 +1441,7 @@
 
       According to Depth-first search algorithm, result of this graph is:
       [trade_condition_1, trade_condition_2, trade_condition_3,
-      trade_condition_4, trade_condition_5]
+      trade_condition_4]
     '''
     trade_condition_1 = self.createTradeCondition()
     trade_condition_2 = self.createTradeCondition()
@@ -1458,6 +1458,46 @@
     self.assertEquals(
       [trade_condition_1, trade_condition_2, trade_condition_3,
        trade_condition_4], specialise_value_list)
+
+
+  def test_findSpecialiseValueListWithPortalType(self):
+    '''
+      check that findSpecialiseValueList is able to return all the inheritance
+      model tree using Depth-first search with a specific portal_type asked
+
+                                  trade_condition_1
+                                    /           \
+                                   /             \
+                                  /               \
+                       trade_condition_2       trade_condition_3
+                               |
+                               |
+                               |
+                        trade_condition_4
+                               |
+                               |
+                               |
+                        business_process
+                        
+    As only business_process will be a "Business Process" and we search for business process
+    the result must be [business_process]
+    '''
+    trade_condition_1 = self.createTradeCondition()
+    trade_condition_2 = self.createTradeCondition()
+    trade_condition_3 = self.createTradeCondition()
+    trade_condition_4 = self.createTradeCondition()
+    business_process = self.createBusinessProcess()
+    
+    trade_condition_1.setSpecialiseValueList((trade_condition_2,
+      trade_condition_3))
+    trade_condition_2.setSpecialiseValue(trade_condition_4)
+    trade_condition_4.setSpecialiseValue(business_process)
+    
+    specialise_value_list = trade_condition_1.findSpecialiseValueList(
+      portal_type_list = ['Business Process'],
+      context=trade_condition_1)
+    self.assertEquals(len(specialise_value_list), 1)
+    self.assertEquals([business_process,] , specialise_value_list)
 
   def test_TradeConditionTradeModelLineReferenceIsShadowingComposition(self):
     trade_condition_1 = self.createTradeCondition()




More information about the Erp5-report mailing list