MCPcopy Create free account
hub / github.com/ImageEngine/cortex / test

Method test

test/IECore/ObjectVectorTest.py:43–104  ·  view source on GitHub ↗
( self )

Source from the content-addressed store, hash-verified

41class ObjectVectorTest( unittest.TestCase ) :
42
43 def test( self ) :
44
45 o = IECore.ObjectVector()
46
47 self.assertEqual( len( o ), 0 )
48 self.assertRaises( ValueError, o.append, None )
49
50 m1 = IECore.FloatData()
51 m2 = IECore.FloatData()
52 m3 = IECore.FloatData()
53
54 o.append( m1 )
55 self.assertEqual( len( o ), 1 )
56 self.assertTrue( o[0].isSame( m1 ) )
57 self.assertTrue( o[-1].isSame( m1 ) )
58 self.assertRaises( IndexError, o.__getitem__, 1 )
59 self.assertRaises( IndexError, o.__getitem__, -2 )
60
61 o.append( m2 )
62 self.assertEqual( len( o ), 2 )
63 self.assertTrue( o[0].isSame( m1 ) )
64 self.assertTrue( o[1].isSame( m2 ) )
65 self.assertTrue( o[-1].isSame( m2 ) )
66 self.assertTrue( o[-2].isSame( m1 ) )
67 self.assertRaises( IndexError, o.__getitem__, 2 )
68 self.assertRaises( IndexError, o.__getitem__, -3 )
69
70 o.append( m3 )
71 self.assertEqual( len( o ), 3 )
72 self.assertTrue( o[0].isSame( m1 ) )
73 self.assertTrue( o[1].isSame( m2 ) )
74 self.assertTrue( o[2].isSame( m3 ) )
75 self.assertTrue( o[-1].isSame( m3 ) )
76 self.assertTrue( o[-2].isSame( m2 ) )
77 self.assertTrue( o[-3].isSame( m1 ) )
78 self.assertRaises( IndexError, o.__getitem__, 3 )
79 self.assertRaises( IndexError, o.__getitem__, -4 )
80
81 l = [ m1, m2, m3 ]
82 i = 0
83 for v in o :
84 self.assertTrue( l[i].isSame( v ) )
85 i += 1
86
87 del o[1]
88 self.assertEqual( len( o ), 2 )
89 self.assertTrue( o[0].isSame( m1 ) )
90 self.assertTrue( o[1].isSame( m3 ) )
91 self.assertTrue( o[-1].isSame( m3 ) )
92 self.assertTrue( o[-2].isSame( m1 ) )
93 self.assertRaises( IndexError, o.__getitem__, 2 )
94 self.assertRaises( IndexError, o.__getitem__, -3 )
95
96 oo = o.copy()
97 self.assertEqual( o, oo )
98 oo.append( m2 )
99 self.assertNotEqual( o, oo )
100

Callers

nothing calls this directly

Calls 9

ObjectVectorMethod · 0.80
appendMethod · 0.80
ObjectWriterMethod · 0.80
joinMethod · 0.80
ObjectReaderMethod · 0.80
lenFunction · 0.50
copyMethod · 0.45
writeMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected