def test_add_solver(self): x = collection.Collection() x.create_node('mySolve') sol1 = solver.Solver() x.add_solver(sol1) sol_list1 = x.get_solver_list() self.assertEqual(len(sol_list1), 1) self.assertIn(sol1, sol_list1) self.assertIsInstance(sol_list1, list) sol3 = solver.Solver() x.add_solver(sol3) sol_list2 = x.get_solver_list() self.assertEqual(len(sol_list2), 2) self.assertEqual(sol3.get_data(), sol_list2[1].get_data()) self.assertIsInstance(sol_list2, list) # Start from a new class. x_node = x.get_node() y = collection.Collection(node=x_node) sol4 = solver.Solver() y.add_solver(sol4) sol_list3 = y.get_solver_list() self.assertEqual(len(sol_list3), 3)
def test_init(self): x = solver.Solver() y = solver.Solver() self.assertNotEqual(x.get_name(), y.get_name()) name = 'mySolver' x = solver.Solver(name=name) self.assertEqual(x.get_name(), name) x = solver.Solver() x.set_solver_type(const.SOLVER_TYPE_LEVMAR) x_data = x.get_data() y = solver.Solver(data=x_data) y_data = y.get_data() self.assertEqual(x_data, y_data)
def test_is_valid(self): """ Collection validation. Once all pieces are connected, the collection is valid. """ x = collection.Collection() x.create_node('myCollection') self.assertFalse(x.is_valid()) # Solver sol = solver.Solver() x.add_solver(sol) self.assertFalse(x.is_valid()) # Solver (with frame) f = frame.Frame(1) sol.add_frame(f) self.assertFalse(x.is_valid()) # Marker / Bundle cam_tfm = maya.cmds.createNode('transform', name='camera1') cam_shp = maya.cmds.createNode('camera', name='cameraShape1') cam = camera.Camera(shape=cam_shp) bnd = bundle.Bundle().create_node() mkr = marker.Marker().create_node(cam=cam, bnd=bnd) x.add_marker(mkr) self.assertFalse(x.is_valid()) # Attribute node = bnd.get_node() attr = attribute.Attribute(node=node, attr='translateX') x.add_attribute(attr) self.assertTrue(x.is_valid())
def test_add_solver_list(self): x = collection.Collection() x.create_node('mySolve') sol_list0 = [] for i in xrange(10): sol = solver.Solver() sol_list0.append(sol) x.add_solver_list(sol_list0) sol_list1 = x.get_solver_list() self.assertEqual(len(sol_list1), 10) self.assertIsInstance(sol_list1, list) x.add_solver_list([solver.Solver(), solver.Solver(), solver.Solver()]) sol_list2 = x.get_solver_list() self.assertEqual(len(sol_list2), 13) self.assertIsInstance(sol_list2, list)
def test_remove_solver_list(self): x = collection.Collection() x.create_node('mySolve') sol_list1 = [] for i in xrange(10): sol = solver.Solver() sol_list1.append(sol) x.set_solver_list(sol_list1) self.assertEqual(x.get_solver_list_length(), 10) x.remove_solver_list(sol_list1) self.assertEqual(x.get_solver_list_length(), 0)
def test_set_solver_list(self): x = collection.Collection() x.create_node('mySolve') sol_list1 = [] for i in xrange(10): sol = solver.Solver() sol_list1.append(sol) x.set_solver_list(sol_list1) self.assertEqual(x.get_solver_list_length(), 10) # first half of list sol_list2 = sol_list1[:5] x.set_solver_list(sol_list2) self.assertEqual(x.get_solver_list_length(), 5)
def _load_solver_list(self): """ Get all Solvers from the attribute data on the Collection. :return: List of Solver objects. :rtype: list of Solver """ solver_list = [] attr_data = self._get_attr_data('solver_list') if isinstance(attr_data, list) is False: return solver_list for item in attr_data: if isinstance(item, dict) is False: continue sol = solver.Solver(data=item) solver_list.append(sol) return solver_list
def test_get_solver_list(self): x = collection.Collection() x.create_node('mySolve') sol1 = solver.Solver() x.add_solver(sol1) sol_list = x.get_solver_list() self.assertIsInstance(sol_list, list) self.assertEqual(sol1.get_data(), sol_list[0].get_data()) # Re-create the collection asset from the original node and ensure # everything still matches. x_node = x.get_node() y = collection.Collection(node=x_node) sol_list = y.get_solver_list() self.assertIsInstance(sol_list, list) self.assertEqual(len(sol_list), 1) self.assertEqual(sol1.get_data(), sol_list[0].get_data())