/[escript]/trunk/finley/test/python/test_utilframe.py
ViewVC logotype

Contents of /trunk/finley/test/python/test_utilframe.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 620 - (show annotations)
Wed Mar 22 07:43:42 2006 UTC (14 years, 3 months ago) by gross
File MIME type: text/x-python
File size: 3876 byte(s)
problem with tagged data isolated
1 # $Id:$
2 """
3 frame to ran a single test out of the Test_util suite
4 """
5
6 __copyright__=""" Copyright (c) 2006 by ACcESS MNRF
7 http://www.access.edu.au
8 Primary Business: Queensland, Australia"""
9 __license__="""Licensed under the Open Software License version 3.0
10 http://www.opensource.org/licenses/osl-3.0.php"""
11 import unittest
12 from esys.escript import *
13 from esys.finley import Rectangle
14 import numarray
15
16 class Test_util2(unittest.TestCase):
17 RES_TOL=1.e-7
18 def setUp(self):
19 self.__dom =Rectangle(10,10,2)
20 self.functionspace = FunctionOnBoundary(self.__dom) # due to a bug in escript python needs to hold a reference to the domain
21 def test_add_overloaded_constData_rank1_taggedData_rank0(self):
22 arg0=Data(numarray.array([4.5897569702707663, 3.4489828945022865]),self.functionspace)
23 arg1=Data(0.812494849561,self.functionspace)
24 arg1.setTaggedValue(1,-0.798066999908)
25 res=arg0+arg1
26 ref=Data(numarray.array([5.4022518198315126, 4.2614777440630327]),self.functionspace)
27 ref.setTaggedValue(1,numarray.array([3.7916899703627909, 2.650915894594311]))
28 self.failUnless(isinstance(res,Data),"wrong type of result.")
29 self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
30 self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
31
32 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33 def test_mult_overloaded_constData_rank1_taggedData_rank0(self):
34 arg0=Data(numarray.array([-1.8021292916234133, 0.52610779274754549]),self.functionspace)
35 arg1=Data(-2.10992701792,self.functionspace)
36 arg1.setTaggedValue(1,-0.103414543531)
37 res=arg0*arg1
38 ref=Data(numarray.array([3.8023612821737358, -1.1100490462541024]),self.functionspace)
39 ref.setTaggedValue(1,numarray.array([0.18636637807672213, -0.054407197234984987]))
40 self.failUnless(isinstance(res,Data),"wrong type of result.")
41 self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
42 self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
43
44 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
45 def test_pow_overloaded_taggedData_rank1_taggedData_rank0(self):
46 arg0=Data(numarray.array([2.3271463200997102, 1.1183883755594386]),self.functionspace)
47 arg0.setTaggedValue(1,numarray.array([3.8629630953883574, 3.7380725394052305]))
48 arg1=Data(4.96280973024,self.functionspace)
49 arg1.setTaggedValue(1,1.353354768)
50 res=arg0**arg1
51 ref=Data(numarray.array([66.141826047243441, 1.7424328429281473]),self.functionspace)
52 ref.setTaggedValue(1,numarray.array([6.2274713351642141, 5.9565601105055705]))
53 self.failUnless(isinstance(res,Data),"wrong type of result.")
54 self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
55 self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
56 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57 def test_quotient_overloaded_constData_rank1_taggedData_rank0(self):
58 arg0=Data(numarray.array([3.2585370968848757, 1.1454175877624291]),self.functionspace)
59 arg1=Data(-2.93544378089,self.functionspace)
60 arg1.setTaggedValue(1,-1.7765826732)
61 res=arg0/arg1
62 ref=Data(numarray.array([-1.1100662591795942, -0.39020252924586424]),self.functionspace)
63 ref.setTaggedValue(1,numarray.array([-1.8341601244001815, -0.64473081103446983]))
64 self.failUnless(isinstance(res,Data),"wrong type of result.")
65 self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
66 self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
67
68 if __name__ == '__main__':
69 suite = unittest.TestSuite()
70 suite.addTest(unittest.makeSuite(Test_util2))
71 s=unittest.TextTestRunner(verbosity=2).run(suite)

  ViewVC Help
Powered by ViewVC 1.1.26