def test_execute_deterministic_with_list_of_lists_multiple_variables(self): geolog_core.reference_manager.ReferenceManager().reset() variable_1 = pyswip.Variable() variable_2 = pyswip.Variable() ListOfListDeterministicDummyProcess.execute([variable_1, variable_2]) self.assertEqual([1, 2], variable_1.value) self.assertEqual([3, 4], variable_2.value)
def test_iterator_list_nested_variables(self): geolog_core.reference_manager.ReferenceManager().reset() DummyIterator.control = 0 iterator_atom = pyswip.Atom("iterator") geolog_core.reference_manager.ReferenceManager( )._object_dict[iterator_atom] = iter([[1, 2], [2, 3], [3, 4]]) variable_1 = pyswip.Variable() variable_2 = pyswip.Variable() DummyIterator.execute(iterator_atom, [variable_1, variable_2], 0) self.assertEqual(1, variable_1.value) self.assertEqual(2, variable_2.value)
def test_iterator_prune(self): geolog_core.reference_manager.ReferenceManager().reset() DummyIterator.control = 0 iterator_atom = pyswip.Atom("iterator") geolog_core.reference_manager.ReferenceManager( )._object_dict[iterator_atom] = iter([1, 2, 3]) variable = pyswip.Variable() DummyIterator.execute(iterator_atom, variable, 0) DummyIterator.control = 2 variable = pyswip.Variable() return_value = DummyIterator.execute(iterator_atom, variable, 0) self.assertFalse(return_value)
def test_execute_deterministic_with_list_of_lists_one_variable(self): geolog_core.reference_manager.ReferenceManager().reset() variable = pyswip.Variable() ListOfListDeterministicDummyProcess.execute(variable) self.assertEqual([[1, 2], [3, 4]], variable.value)
def test_replace(self): variable = pyswip.Variable() geolog_core.predicate.Replace.execute("me", "all", "test_me_please", variable) self.assertEqual("test_all_please", variable.value)
def test_execute_deterministic_with_list(self): geolog_core.reference_manager.ReferenceManager().reset() variable_1 = pyswip.Variable() variable_2 = pyswip.Variable() variable_3 = pyswip.Variable() variables = [variable_1, variable_2, variable_3] ListDeterministicDummyProcess.execute(variables) atom = geolog_core.reference_manager.ReferenceManager( )._object_dict.keys()[0] self.assertEqual( DummyObject(1), geolog_core.reference_manager.ReferenceManager()._object_dict[atom] ) self.assertEqual(123, variables[0].value) self.assertEqual("test_me", variables[1].value) self.assertEqual(atom, variables[2].value)
def test_execute_deterministic_with_variable_string(self): geolog_core.reference_manager.ReferenceManager().reset() variable = pyswip.Variable() StringDeterministicDummyProcess.execute(variable) self.assertEqual( {}, geolog_core.reference_manager.ReferenceManager()._object_dict) self.assertEqual("test_me", variable.value)
def test_iterator_bind_list_of_objects_to_list(self): geolog_core.reference_manager.ReferenceManager().reset() DummyIterator.control = 0 iterator_atom = pyswip.Atom("iterator") geolog_core.reference_manager.ReferenceManager( )._object_dict[iterator_atom] = iter([[DummyObject(1), 2]]) variable_1 = pyswip.Variable() variable_2 = pyswip.Variable() DummyIterator.execute(iterator_atom, [variable_1, variable_2], 0) atom = geolog_core.reference_manager.ReferenceManager( )._object_dict.keys()[1] self.assertEqual( DummyObject(1), geolog_core.reference_manager.ReferenceManager()._object_dict[atom] ) self.assertEqual(atom, variable_1.value) self.assertEqual(2, variable_2.value)
def test_execute_deterministic_with_variable_atom(self): geolog_core.reference_manager.ReferenceManager().reset() variable = pyswip.Variable() ObjectDeterministicDummyProcess.execute(variable) atom = geolog_core.reference_manager.ReferenceManager( )._object_dict.keys()[0] self.assertEqual( DummyObject(1), geolog_core.reference_manager.ReferenceManager()._object_dict[atom] ) self.assertEqual(atom, variable.value)