def testadj( self ): """ test that the adj method of the linear operator class works isadj should reflect the adj flag and the donmain and range should be switched """ L = LinearOperator( self.dom, self.rng, "test", foo="bar", adj=False ) Lh = L.adj() self.assertFalse( L.isadj ) self.assertTrue( Lh.isadj ) self.assertEqual( L.domain(), Lh.range() ) self.assertEqual( Lh.domain(), L.range() )
class compTester(TestCase): """ Test CompoundOperator class """ def setUp(self): self.dom = Space("adc", n1=10, n2=10) self.inter = Space("adc", n1=15, n2=15) self.rng = Space("adc", n1=22, n2=22) self.L1 = LinearOperator(self.dom, self.inter, adj=False) self.L2 = LinearOperator(self.inter, self.rng, adj=False) self.C = CompoundOperator([self.L1, self.L2]) def test__init__(self): self.assertRaises(TypeError, CompoundOperator, self.L1) # self.assertRaises(TypeError, comp, [ self.L2 ,self.L1 ] ) def test__getitem__(self): C = self.C self.assertEqual(C[0], self.L1) self.assertEqual(C[1], self.L2) def testdomain(self): self.assertEqual(self.C.domain(), self.L2.domain()) self.assertEqual(self.C.range(), self.L1.range()) CH = self.C.adj() self.assertEqual(CH.domain(), self.L1.range()) self.assertEqual(CH.range(), self.L2.domain())
class linearoptester( TestCase ): """ Test The base linear operator class. """ def setUp( self ): self.dom = Space( "adc" , n1=10, n2=10) self.rng = Space( "adc" , n1=15, n2=15 ) self.L = LinearOperator( self.dom, self.rng, adj=False ) def tearDown( self ): pass def test__init__( self ): """ check domain and range are set """ self.assertEqual( self.L.range(), self.rng ) self.assertEqual( self.L.range(), self.L.outSpace ) self.assertEqual( self.L.domain(), self.dom ) self.assertEqual( self.L.domain(), self.L.inSpace ) self.assertEqual( self.L.kparams['adj'], False ) def test__eq__( self ): L = self.L A = LinearOperator( self.dom, self.rng, adj=False ) # B = LinearOperator( self.rng, self.dom , adj=False ) self.assertEqual( L, A ) self.assertNotEqual( L.adj(), L ) def testcopy( self ): """ Test that the copy operator returns a new instance """ L = self.L A = L.copy() self.assertEqual( L, A ) def testadj( self ): """ test that the adj method of the linear operator class works isadj should reflect the adj flag and the donmain and range should be switched """ L = LinearOperator( self.dom, self.rng, "test", foo="bar", adj=False ) Lh = L.adj() self.assertFalse( L.isadj ) self.assertTrue( Lh.isadj ) self.assertEqual( L.domain(), Lh.range() ) self.assertEqual( Lh.domain(), L.range() ) def test__mul__( self ): """ Not defined in this class """ pass def test__call__( self ): """ Not defined in this class """ pass def testapplyop( self ): "test applyop mehtod " pass def testgetdim( self ): "test to see if the linear operator shape is working" dim = self.L.getdim() realdim = [len( self.dom ), len( self.rng )] self.assertEqual( dim , realdim ) dim = self.L.adj().getdim() realdim.reverse() self.assertEqual( dim , realdim )