<s> import os <EOL> import numpy <EOL> import dateutil . parser <EOL> import collada <EOL> from collada . util import unittest , BytesIO <EOL> from collada . xmlutil import etree <EOL> fromstring = etree . fromstring <EOL> tostring = etree . tostring <EOL> class TestCollada ( unittest . TestCase ) : <EOL> def setUp ( self ) : <EOL> self . dummy = collada . Collada ( validate_output = True ) <EOL> self . datadir = os . path . join ( os . path . dirname ( os . path . realpath ( __file__ ) ) , "<STR_LIT:data>" ) <EOL> def test_collada_duck_tris ( self ) : <EOL> f = os . path . join ( self . datadir , "<STR_LIT>" ) <EOL> mesh = collada . Collada ( f , validate_output = True ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . author , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . authoring_tool , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . source_data , '<STR_LIT>' ) <EOL> self . assertEqual ( len ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . copyright ) , <NUM_LIT> ) <EOL> self . assertEqual ( len ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . comments ) , <NUM_LIT> ) <EOL> self . assertEqual ( mesh . assetInfo . unitmeter , <NUM_LIT> ) <EOL> self . assertEqual ( mesh . assetInfo . unitname , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . upaxis , collada . asset . UP_AXIS . Y_UP ) <EOL> self . assertIsNone ( mesh . assetInfo . title ) <EOL> self . assertIsNone ( mesh . assetInfo . subject ) <EOL> self . assertIsNone ( mesh . assetInfo . revision ) <EOL> self . assertIsNone ( mesh . assetInfo . keywords ) <EOL> self . assertEqual ( mesh . assetInfo . created , dateutil . parser . parse ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( mesh . assetInfo . modified , dateutil . parser . parse ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( mesh . scene . id , '<STR_LIT>' ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . materials ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . scenes ) <EOL> triset = mesh . geometries [ <NUM_LIT:0> ] . primitives [ <NUM_LIT:0> ] <EOL> input_list = triset . getInputList ( ) . getList ( ) <EOL> self . assertEqual ( <NUM_LIT:3> , len ( input_list ) ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> s = BytesIO ( ) <EOL> mesh . write ( s ) <EOL> out = s . getvalue ( ) <EOL> t = BytesIO ( out ) <EOL> mesh = collada . Collada ( t , validate_output = True ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . author , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . authoring_tool , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . source_data , '<STR_LIT>' ) <EOL> self . assertEqual ( len ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . copyright ) , <NUM_LIT> ) <EOL> self . assertEqual ( len ( mesh . assetInfo . contributors [ <NUM_LIT:0> ] . comments ) , <NUM_LIT> ) <EOL> self . assertEqual ( mesh . assetInfo . unitmeter , <NUM_LIT> ) <EOL> self . assertEqual ( mesh . assetInfo . unitname , '<STR_LIT>' ) <EOL> self . assertEqual ( mesh . assetInfo . upaxis , collada . asset . UP_AXIS . Y_UP ) <EOL> self . assertIsNone ( mesh . assetInfo . title ) <EOL> self . assertIsNone ( mesh . assetInfo . subject ) <EOL> self . assertIsNone ( mesh . assetInfo . revision ) <EOL> self . assertIsNone ( mesh . assetInfo . keywords ) <EOL> self . assertEqual ( mesh . assetInfo . created , dateutil . parser . parse ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( mesh . assetInfo . modified , dateutil . parser . parse ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( mesh . scene . id , '<STR_LIT>' ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . materials ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . scenes ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> self . assertIsNotNone ( str ( list ( mesh . scene . objects ( '<STR_LIT>' ) ) ) ) <EOL> def test_collada_duck_poly ( self ) : <EOL> f = os . path . join ( self . datadir , "<STR_LIT>" ) <EOL> mesh = collada . Collada ( f , validate_output = True ) <EOL> self . assertEqual ( mesh . scene . id , '<STR_LIT>' ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . materials ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . scenes ) <EOL> s = BytesIO ( ) <EOL> mesh . write ( s ) <EOL> out = s . getvalue ( ) <EOL> t = BytesIO ( out ) <EOL> mesh = collada . Collada ( t , validate_output = True ) <EOL> self . assertEqual ( mesh . scene . id , '<STR_LIT>' ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . materials ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . scenes ) <EOL> def test_collada_duck_zip ( self ) : <EOL> f = os . path . join ( self . datadir , "<STR_LIT>" ) <EOL> mesh = collada . Collada ( f , validate_output = True ) <EOL> self . assertEqual ( mesh . scene . id , '<STR_LIT>' ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . materials ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertIn ( '<STR_LIT>' , mesh . scenes ) <EOL> def test_collada_saving ( self ) : <EOL> mesh = collada . Collada ( validate_output = True ) <EOL> self . assertEqual ( len ( mesh . geometries ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . controllers ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . lights ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . cameras ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . images ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . effects ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . materials ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . nodes ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( mesh . scenes ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( mesh . scene , None ) <EOL> self . assertIsNotNone ( str ( mesh ) ) <EOL> floatsource = collada . source . FloatSource ( "<STR_LIT>" , numpy . array ( [ <NUM_LIT:0.1> , <NUM_LIT> , <NUM_LIT> ] ) , ( '<STR_LIT:X>' , '<STR_LIT:Y>' , '<STR_LIT>' ) ) <EOL> geometry1 = collada . geometry . Geometry ( mesh , "<STR_LIT>" , "<STR_LIT>" , { "<STR_LIT>" : floatsource } ) <EOL> mesh . geometries . append ( geometry1 ) <EOL> linefloats = [ <NUM_LIT:1> , <NUM_LIT:1> , - <NUM_LIT:1> , <NUM_LIT:1> , - <NUM_LIT:1> , - <NUM_LIT:1> , - <NUM_LIT:1> , - <NUM_LIT> , - <NUM_LIT:1> , - <NUM_LIT> , <NUM_LIT:1> , - <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT> , - <NUM_LIT> , <NUM_LIT:1> ] <EOL> linefloatsrc = collada . source . FloatSource ( "<STR_LIT>" , numpy . array ( linefloats ) , ( '<STR_LIT:X>' , '<STR_LIT:Y>' , '<STR_LIT>' ) ) <EOL> geometry2 = collada . geometry . Geometry ( mesh , "<STR_LIT>" , "<STR_LIT>" , [ linefloatsrc ] ) <EOL> input_list = collada . source . InputList ( ) <EOL> input_list . addInput ( <NUM_LIT:0> , '<STR_LIT>' , "<STR_LIT>" ) <EOL> indices = numpy . array ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> lineset1 = geometry2 . createLineSet ( indices , input_list , "<STR_LIT>" ) <EOL> geometry2 . primitives . append ( lineset1 ) <EOL> mesh . geometries . append ( geometry2 ) <EOL> ambientlight = collada . light . AmbientLight ( "<STR_LIT>" , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> pointlight = collada . light . PointLight ( "<STR_LIT>" , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> mesh . lights . append ( ambientlight ) <EOL> mesh . lights . append ( pointlight ) <EOL> camera1 = collada . camera . PerspectiveCamera ( "<STR_LIT>" , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> camera2 = collada . camera . PerspectiveCamera ( "<STR_LIT>" , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> mesh . cameras . append ( camera1 ) <EOL> mesh . cameras . append ( camera2 ) <EOL> cimage1 = collada . material . CImage ( "<STR_LIT>" , "<STR_LIT>" , mesh ) <EOL> cimage2 = collada . material . CImage ( "<STR_LIT>" , "<STR_LIT>" , mesh ) <EOL> mesh . images . append ( cimage1 ) <EOL> mesh . images . append ( cimage2 ) <EOL> effect1 = collada . material . Effect ( "<STR_LIT>" , [ ] , "<STR_LIT>" ) <EOL> effect2 = collada . material . Effect ( "<STR_LIT>" , [ ] , "<STR_LIT>" ) <EOL> mesh . effects . append ( effect1 ) <EOL> mesh . effects . append ( effect2 ) <EOL> mat1 = collada . material . Material ( "<STR_LIT>" , "<STR_LIT>" , effect1 ) <EOL> mat2 = collada . material . Material ( "<STR_LIT>" , "<STR_LIT>" , effect2 ) <EOL> mesh . materials . append ( mat1 ) <EOL> mesh . materials . append ( mat2 ) <EOL> rotate = collada . scene . RotateTransform ( <NUM_LIT:0.1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> scale = collada . scene . ScaleTransform ( <NUM_LIT:0.1> , <NUM_LIT> , <NUM_LIT> ) <EOL> mynode1 = collada . scene . Node ( '<STR_LIT>' , children = [ ] , transforms = [ rotate , scale ] ) <EOL> mynode2 = collada . scene . Node ( '<STR_LIT>' , children = [ ] , transforms = [ ] ) <EOL> mesh . nodes . append ( mynode1 ) <EOL> mesh . nodes . append ( mynode2 ) <EOL> geomnode = collada . scene . GeometryNode ( geometry2 ) <EOL> mynode3 = collada . scene . Node ( '<STR_LIT>' , children = [ geomnode ] , transforms = [ ] ) <EOL> mynode4 = collada . scene . Node ( '<STR_LIT>' , children = [ ] , transforms = [ ] ) <EOL> scene1 = collada . scene . Scene ( '<STR_LIT>' , [ mynode3 ] ) <EOL> scene2 = collada . scene . Scene ( '<STR_LIT>' , [ mynode4 ] ) <EOL> mesh . scenes . append ( scene1 ) <EOL> mesh . scenes . append ( scene2 ) <EOL> mesh . scene = scene1 <EOL> out = BytesIO ( ) <EOL> mesh . write ( out ) <EOL> toload = BytesIO ( out . getvalue ( ) ) <EOL> loaded_mesh = collada . Collada ( toload , validate_output = True ) <EOL> self . assertEqual ( len ( loaded_mesh . geometries ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . controllers ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( len ( loaded_mesh . lights ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . cameras ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . images ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . effects ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . materials ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . nodes ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( len ( loaded_mesh . scenes ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( loaded_mesh . scene . id , scene1 . id ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . lights ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . images ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . effects ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . materials ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . materials ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . nodes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . nodes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . scenes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh . scenes ) <EOL> linefloatsrc2 = collada . source . FloatSource ( "<STR_LIT>" , numpy . array ( linefloats ) , ( '<STR_LIT:X>' , '<STR_LIT:Y>' , '<STR_LIT>' ) ) <EOL> geometry3 = collada . geometry . Geometry ( mesh , "<STR_LIT>" , "<STR_LIT>" , [ linefloatsrc2 ] ) <EOL> loaded_mesh . geometries . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . geometries . append ( geometry3 ) <EOL> dirlight = collada . light . DirectionalLight ( "<STR_LIT>" , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> loaded_mesh . lights . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . lights . append ( dirlight ) <EOL> camera3 = collada . camera . PerspectiveCamera ( "<STR_LIT>" , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> loaded_mesh . cameras . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . cameras . append ( camera3 ) <EOL> cimage3 = collada . material . CImage ( "<STR_LIT>" , "<STR_LIT>" , loaded_mesh ) <EOL> loaded_mesh . images . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . images . append ( cimage3 ) <EOL> effect3 = collada . material . Effect ( "<STR_LIT>" , [ ] , "<STR_LIT>" ) <EOL> loaded_mesh . effects . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . effects . append ( effect3 ) <EOL> mat3 = collada . material . Material ( "<STR_LIT>" , "<STR_LIT>" , effect3 ) <EOL> loaded_mesh . materials . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . materials . append ( mat3 ) <EOL> mynode5 = collada . scene . Node ( '<STR_LIT>' , children = [ ] , transforms = [ ] ) <EOL> loaded_mesh . nodes . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . nodes . append ( mynode5 ) <EOL> mynode6 = collada . scene . Node ( '<STR_LIT>' , children = [ ] , transforms = [ ] ) <EOL> scene3 = collada . scene . Scene ( '<STR_LIT>' , [ mynode6 ] ) <EOL> loaded_mesh . scenes . pop ( <NUM_LIT:0> ) <EOL> loaded_mesh . scenes . append ( scene3 ) <EOL> loaded_mesh . scene = scene3 <EOL> loaded_mesh . save ( ) <EOL> strdata = tostring ( loaded_mesh . xmlnode . getroot ( ) ) <EOL> indata = BytesIO ( strdata ) <EOL> loaded_mesh2 = collada . Collada ( indata , validate_output = True ) <EOL> self . assertEqual ( loaded_mesh2 . scene . id , scene3 . id ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . geometries ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . lights ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . lights ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . cameras ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . images ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . images ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . effects ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . effects ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . materials ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . materials ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . nodes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . nodes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . scenes ) <EOL> self . assertIn ( '<STR_LIT>' , loaded_mesh2 . scenes ) <EOL> def test_collada_attribute_replace ( self ) : <EOL> mesh = collada . Collada ( validate_output = True ) <EOL> self . assertIsInstance ( mesh . geometries , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . controllers , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . animations , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . lights , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . cameras , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . images , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . effects , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . materials , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . nodes , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . scenes , collada . util . IndexedList ) <EOL> mesh . geometries = [ ] <EOL> mesh . controllers = [ ] <EOL> mesh . animations = [ ] <EOL> mesh . lights = [ ] <EOL> mesh . cameras = [ ] <EOL> mesh . images = [ ] <EOL> mesh . effects = [ ] <EOL> mesh . materials = [ ] <EOL> mesh . nodes = [ ] <EOL> mesh . scenes = [ ] <EOL> self . assertIsInstance ( mesh . geometries , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . controllers , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . animations , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . lights , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . cameras , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . images , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . effects , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . materials , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . nodes , collada . util . IndexedList ) <EOL> self . assertIsInstance ( mesh . scenes , collada . util . IndexedList ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
