Salome HOME
CCAR: merge de la branche de développement V1_11a1 dans la branche
[tools/eficas.git] / Tests / testelem / testitem1.py
1 import os
2 import unittest
3 import difflib
4
5 import prefs
6 from Editeur import appli
7 from Editeur import comploader
8 from Editeur import Objecttreeitem
9
10 def add_param(j,pos,nom,valeur):
11     co=j.addentite("PARAMETRE",pos)
12     co.set_nom(nom)
13     co.set_valeur(valeur)
14     return co
15
16 def add_mcsimp(obj,nom,valeur):
17     mcs=obj.get_child(nom,restreint='oui')
18     if mcs is None:
19        pos=obj.get_index_child(nom)
20        mcs=obj.addentite(nom,pos)
21     mcs.set_valeur(mcs.eval_val(valeur))
22     return mcs
23
24 def cdiff(text1,text2):
25     return " ".join(difflib.context_diff(text1.splitlines(1),text2.splitlines(1)))
26
27 version= 'v8'
28
29 class TestCase(unittest.TestCase):
30    """ Tests sur des items """
31    def setUp(self):
32       pass
33
34    def tearDown(self):
35       CONTEXT.unset_current_step()
36
37    def test001(self):
38       """Test comploader"""
39       composants=comploader.charger_composants()
40       itemtype=comploader.gettreeitem({'a':1})
41       assert itemtype is Objecttreeitem.ObjectTreeItem
42
43    def test002(self):
44       """ Test de commentarisation/decommentarisation a partir d'un item jdc """
45       app=appli.STANDALONE(version=version)
46       file=os.path.join(prefs.INSTALLDIR,"Tests/testelem/az.comm")
47       j=app.openJDC(file=file)
48       item=app.create_item(j)
49       assert item.isvalid(),item.report()
50       # on commente la commande LIRE_MAILLAGE
51       commands=item.GetSubList()
52       for it in commands:
53         if it.nom == "LIRE_MAILLAGE" and it.sd.nom == "MAIL":break
54       pos=commands.index(it)
55       cco=it.get_objet_commentarise()
56       commands=item.GetSubList()
57       commands[pos].uncomment()
58       commands=item.GetSubList()
59       # on reaffecte l'objet MAIL
60       for it in commands:
61         if it.nom in ("AFFE_MODELE","AFFE_MATERIAU") :
62            for mc in it.GetSubList():
63               if mc.nom == "MAILLAGE":
64                  valeur,validite=mc.eval_valeur("MAIL")
65                  test = mc.set_valeur(valeur)
66       text1=app.get_text_JDC(j,'python')
67       f=open(file)
68       text2=f.read()
69       f.close()
70       assert text1 == text2 , cdiff(text1,text2)
71