1 |
#!/usr/bin/python |
2 |
t_prog={} |
3 |
t_prog["2Do1"]="" |
4 |
t_prog["2Do2"]="" |
5 |
t_prog["3Do1"]="" |
6 |
t_prog["3Do2"]="" |
7 |
t_prog["2Do1_contact"]="" |
8 |
t_prog["2Do2_contact"]="" |
9 |
t_prog["3Do1_contact"]="" |
10 |
t_prog["3Do2_contact"]="" |
11 |
intend=" " |
12 |
|
13 |
def makeTitle(d,o,s,coef,case,type,body="",mark=""): |
14 |
if mark=="": |
15 |
name="test_assemblage_%sD_order%s_neq%s_%s_%s_%s"%(d,o,s,coef,case,type) |
16 |
else: |
17 |
name="test_assemblage_%sD_order%s_neq%s_%s_%s_%s_%s"%(d,o,s,coef,case,type,mark) |
18 |
key="%sDo%s"%(d,o) |
19 |
if coef=="d_contact": key+="_contact" |
20 |
t_prog[key]+=intend+"#"+80*"+"+"\n"+intend+"def %s(self):\n"%name |
21 |
if body=="": |
22 |
t_prog[key]+=2*intend+"pass\n" |
23 |
else: |
24 |
t_prog[key]+=body |
25 |
|
26 |
for s in [1,2,3,4]: |
27 |
for d in [2,3]: |
28 |
for type in ["strong","weak"]: |
29 |
for o in [1,2]: |
30 |
for case in ["const","vario"]: |
31 |
# coefficient A: |
32 |
if s==1: |
33 |
for i in range(d): |
34 |
for j in range(d): |
35 |
makeTitle(d,o,s,"A",case,type,body="",mark="%s%s"%(i,j)) |
36 |
else: |
37 |
for p in range(s): |
38 |
for i in range(d): |
39 |
for q in range(s): |
40 |
for j in range(d): |
41 |
makeTitle(d,o,s,"A",case,type,body="",mark="%s%s%s%s"%(p,i,q,j)) |
42 |
# coefficient B: |
43 |
if s==1: |
44 |
for i in range(d): |
45 |
makeTitle(d,o,s,"B",case,type,body="",mark="%s"%(i)) |
46 |
else: |
47 |
for p in range(s): |
48 |
for i in range(d): |
49 |
for q in range(s): |
50 |
makeTitle(d,o,s,"B",case,type,body="",mark="%s%s%s"%(p,i,q)) |
51 |
if type=="strong": |
52 |
# coefficient C: |
53 |
if s==1: |
54 |
for j in range(d): |
55 |
makeTitle(d,o,s,"C",case,type,body="",mark="%s"%(j)) |
56 |
else: |
57 |
for p in range(s): |
58 |
for q in range(s): |
59 |
for j in range(d): |
60 |
makeTitle(d,o,s,"C",case,type,body="",mark="%s%s%s"%(p,q,j)) |
61 |
# coefficient D: |
62 |
if s==1: |
63 |
makeTitle(d,o,s,"D",case,type,body="",mark="") |
64 |
else: |
65 |
for p in range(s): |
66 |
for q in range(s): |
67 |
makeTitle(d,o,s,"D",case,type,body="",mark="%s%s"%(p,q)) |
68 |
# coefficient d: |
69 |
if s==1: |
70 |
makeTitle(d,o,s,"d",case,type,body="",mark="") |
71 |
else: |
72 |
for p in range(s): |
73 |
for q in range(s): |
74 |
makeTitle(d,o,s,"d_contact",case,type,body="",mark="%s%s"%(p,q)) |
75 |
# coefficient d_contact: |
76 |
if s==1: |
77 |
makeTitle(d,o,s,"d_contact",case,type,body="",mark="") |
78 |
else: |
79 |
for p in range(s): |
80 |
for q in range(s): |
81 |
makeTitle(d,o,s,"d_contact",case,type,body="",mark="%s%s"%(p,q)) |
82 |
#================================ |
83 |
print "import unittest" |
84 |
print "import numarray" |
85 |
print "from esys.escript import *" |
86 |
print "from esys.finley import Rectangle,Brick" |
87 |
print "class Test_assemblage_2Do1(unittest.TestCase):" |
88 |
print t_prog["2Do1"] |
89 |
print "class Test_assemblage_2Do2(unittest.TestCase):" |
90 |
print t_prog["2Do2"] |
91 |
print "class Test_assemblage_3Do1(unittest.TestCase):" |
92 |
print t_prog["3Do1"] |
93 |
print "class Test_assemblage_3Do2(unittest.TestCase):" |
94 |
print t_prog["3Do2"] |
95 |
print "class Test_assemblage_2Do1Contact(unittest.TestCase):" |
96 |
print t_prog["2Do1_contact"] |
97 |
print "class Test_assemblage_2Do2Contact(unittest.TestCase):" |
98 |
print t_prog["2Do2_contact"] |
99 |
print "class Test_assemblage_3Do1Contact(unittest.TestCase):" |
100 |
print t_prog["3Do1_contact"] |
101 |
print "class Test_assemblage_3Do2Contact(unittest.TestCase):" |
102 |
print t_prog["3Do2_contact"] |
103 |
|
104 |
print "class Test_Finley_assemblage_2Do1(Test_assemblage_2Do1):" |
105 |
print " RES_TOL=1.e-7" |
106 |
print " def setUp(self):" |
107 |
print " self.domain =Rectangle(2,2,1)" |
108 |
print "class Test_Finley_assemblage_2Do2(Test_assemblage_2Do2):" |
109 |
print " RES_TOL=1.e-7" |
110 |
print " def setUp(self):" |
111 |
print " self.domain =Rectangle(2,2,2)" |
112 |
print "class Test_Finley_assemblage_3Do1(Test_assemblage_3Do1):" |
113 |
print " RES_TOL=1.e-7" |
114 |
print " def setUp(self):" |
115 |
print " self.domain =Brick(2,2,2,1)" |
116 |
print "class Test_Finley_assemblage_3Do2(Test_assemblage_3Do2):" |
117 |
print " RES_TOL=1.e-7" |
118 |
print " def setUp(self):" |
119 |
print " self.domain =Brick(2,2,2,2)" |
120 |
print "suite = unittest.TestSuite()" |
121 |
print "suite.addTest(unittest.makeSuite(Test_Finley_assemblage_2Do1))" |
122 |
print "suite.addTest(unittest.makeSuite(Test_Finley_assemblage_2Do2))" |
123 |
print "suite.addTest(unittest.makeSuite(Test_Finley_assemblage_3Do1))" |
124 |
print "suite.addTest(unittest.makeSuite(Test_Finley_assemblage_3Do2))" |
125 |
print "unittest.TextTestRunner(verbosity=2).run(suite)" |