def testAddScalarDataObject(self): root = DataNode.objects.create(type='string') text = 'text' data_object = _get_string_data_object(text) data_path = [] root.add_data_object(data_path, data_object) self.assertEqual(root.get_data_object(data_path).substitution_value, text)
def testAddScalarDataObjectTwice(self): root = DataNode.objects.create(type='string') text = 'text' data_object = _get_string_data_object(text) data_path = [] root.add_data_object(data_path, data_object) with self.assertRaises(DataAlreadyExistsError): root.add_data_object(data_path, data_object)
def testAddScalarDataObject(self): root = DataNode.objects.create(type='string') text = 'text' data_object = _get_string_data_object(text) data_path = [] root.add_data_object(data_path, data_object) self.assertEqual( root.get_data_object(data_path).substitution_value, text)
def testIndexOutOfRangeError(self): degree = 2 data_object = _get_string_data_object('text') root = DataNode.objects.create(degree=degree, type='string') with self.assertRaises(IndexOutOfRangeError): root.add_leaf(degree, data_object) with self.assertRaises(IndexOutOfRangeError): root.add_leaf(-1, data_object)
def testFlattenedClone_leaf(self): leaf = DataNode.objects.create(type='string') leaf.add_data_object( [], _get_string_data_object( 'al ultimo se lo estan comiendo las hormigas')) clone = leaf.flattened_clone() self.assertNotEqual(leaf.uuid, clone.uuid) self.assertEqual(leaf.data_object.uuid, clone.data_object.uuid)
def getScalarInput(channel_name='channel1', mode='no_gather', group=0): data_node = DataNode.objects.create(type='string') data_node.add_data_object([], _get_string_data_object(scalar_input_text)) step_run_input = RunInput.objects.create(channel=channel_name, group=group, mode=mode, type='string') step_run_input.data_node = data_node step_run_input.save() return step_run_input
def getInputWithFullTree(channel_name='channel1', mode='no_gather', group=0): data_node = DataNode.objects.create(type='string') for data_path, letter in full_input_data: data_object = _get_string_data_object(letter) data_node.add_data_object(data_path, data_object, save=True) step_run_input = RunInput.objects.create( channel=channel_name, group=group, mode=mode, type='string') step_run_input.data_node = data_node step_run_input.save() return step_run_input
def testAddDataObject(self): data_channel = RunOutput.objects.create(channel='test', mode='no_scatter', type='string') path = [(1,2), (0,1)] string_value = 'text' data_object = _get_string_data_object(string_value) data_channel.add_data_object(path, data_object) with self.assertRaises(MissingBranchError): data_channel.get_data_object([(0,2),(0,1)]) self.assertEqual( data_channel.get_data_object([(1,2),(0,1)]).substitution_value, string_value)
def getInputWithFullTree(channel_name='channel1', mode='no_gather', group=0): data_node = DataNode.objects.create(type='string') for data_path, letter in full_input_data: data_object = _get_string_data_object(letter) data_node.add_data_object(data_path, data_object) step_run_input = RunInput.objects.create(channel=channel_name, group=group, mode=mode, type='string') step_run_input.data_node = data_node step_run_input.save() return step_run_input
def testAddDataObject(self): data_channel = RunOutput.objects.create(channel='test', mode='no_scatter', type='string') path = [(1, 2), (0, 1)] string_value = 'text' data_object = _get_string_data_object(string_value) data_channel.add_data_object(path, data_object) with self.assertRaises(MissingBranchError): data_channel.get_data_object([(0, 2), (0, 1)]) self.assertEqual( data_channel.get_data_object([(1, 2), (0, 1)]).substitution_value, string_value)
def getScalarInput(channel_name='channel1', mode='no_gather', group=0): data_node = DataNode.objects.create(type='string') data_node.add_data_object( [], _get_string_data_object(scalar_input_text), save=True) step_run_input = RunInput.objects.create( channel=channel_name, group=group, mode=mode, type='string') step_run_input.data_node = data_node step_run_input.save() return step_run_input
def testAddBranchOverLeaf(self): root = DataNode.objects.create(degree=2, type='string') data_object = _get_string_data_object('text') root.add_leaf(1, data_object) with self.assertRaises(UnexpectedLeafNodeError): root.add_branch(1, 1)
def testDegreeOutOfRangeError(self): data_object = _get_string_data_object('text') root = DataNode.objects.create(degree=2, type='string') with self.assertRaises(ValidationError): root.add_branch(1, -1)
def testDegreeMismatchError(self): data_object = _get_string_data_object('text') root = DataNode.objects.create(degree=2, type='string') root.add_branch(1, 2) with self.assertRaises(DegreeMismatchError): root.add_branch(1, 3)
def addData(self, root, data): for data_path, value in data: data_object = _get_string_data_object(value) root.add_data_object(data_path, data_object)
def testUnknownDegreeError(self): data_object = _get_string_data_object('text') root = DataNode.objects.create(type='string') with self.assertRaises(UnknownDegreeError): root.add_leaf(0, data_object)
def testAddLeafTwice(self): root = DataNode.objects.create(degree=1, type='string') data_object = _get_string_data_object('text') root.add_leaf(0, data_object) with self.assertRaises(NodeAlreadyExistsError): root.add_leaf(0, data_object)