Module clingo.tests.test_symbol
Test clingo's Symbol class.
Classes
class TestSymbol (methodName='runTest')
-
Expand source code
class TestSymbol(TestCase): """ Tests for the symbol class. """ def test_parse(self): """ Test term parsing. """ self.assertEqual(str(parse_term("p(3)")), "p(3)") log = [] self.assertRaises( RuntimeError, parse_term, "p(1/0)", lambda code, message: log.append((code, message)), ) self.assertEqual(len(log), 0) def test_str(self): """ Test string representation of symbols. """ self.assertEqual(str(Number(10)), "10") def test_repr(self): """ Test representation of symbols. """ self.assertEqual( repr( Function("test", [Number(10), Infimum, Supremum, String("test")], False) ), "Function('test', [Number(10), Infimum, Supremum, String('test')], False)", ) def test_cmp(self): """ Test hashing and comparisons. """ self.assertEqual(hash(Number(10)), hash(Number(10))) self.assertNotEqual(hash(Number(1)), hash(Number(2))) self.assertTrue(Number(10) == Number(10)) self.assertTrue(Number(1) != Number(2)) self.assertTrue(Number(1) < Number(2)) self.assertFalse(Number(2) < Number(1)) self.assertTrue(Number(2) > Number(1)) self.assertFalse(Number(1) > Number(2)) def test_match(self): """ Test symbol matching. """ self.assertTrue(Function("f", [Number(1)]).match("f", 1)) self.assertFalse(Function("f", [Number(1), Number(2)]).match("f", 1)) self.assertFalse(Number(1).match("f", 1)) def test_number(self): """ Test numbers. """ n = Number(1) self.assertEqual(n.number, 1) self.assertEqual(n.type, SymbolType.Number) def test_function(self): """ Test functions. """ f = Function("f", [Number(1)], False) self.assertEqual(f.arguments, [Number(1)]) self.assertFalse(f.positive) self.assertTrue(f.negative) self.assertEqual(f.name, "f") self.assertEqual(f.type, SymbolType.Function) self.assertEqual(Tuple_([]).type, SymbolType.Function) def test_infsup(self): """ Test infimum and supremum. """ self.assertEqual(Infimum.type, SymbolType.Infimum) self.assertEqual(Supremum.type, SymbolType.Supremum) def test_string(self): """ Test strings. """ s = String("blub") self.assertEqual(s.string, "blub") self.assertEqual(s.type, SymbolType.String)
Tests for the symbol class.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
Ancestors
- unittest.case.TestCase
Methods
def test_cmp(self)
-
Expand source code
def test_cmp(self): """ Test hashing and comparisons. """ self.assertEqual(hash(Number(10)), hash(Number(10))) self.assertNotEqual(hash(Number(1)), hash(Number(2))) self.assertTrue(Number(10) == Number(10)) self.assertTrue(Number(1) != Number(2)) self.assertTrue(Number(1) < Number(2)) self.assertFalse(Number(2) < Number(1)) self.assertTrue(Number(2) > Number(1)) self.assertFalse(Number(1) > Number(2))
Test hashing and comparisons.
def test_function(self)
-
Expand source code
def test_function(self): """ Test functions. """ f = Function("f", [Number(1)], False) self.assertEqual(f.arguments, [Number(1)]) self.assertFalse(f.positive) self.assertTrue(f.negative) self.assertEqual(f.name, "f") self.assertEqual(f.type, SymbolType.Function) self.assertEqual(Tuple_([]).type, SymbolType.Function)
Test functions.
def test_infsup(self)
-
Expand source code
def test_infsup(self): """ Test infimum and supremum. """ self.assertEqual(Infimum.type, SymbolType.Infimum) self.assertEqual(Supremum.type, SymbolType.Supremum)
Test infimum and supremum.
def test_match(self)
-
Expand source code
def test_match(self): """ Test symbol matching. """ self.assertTrue(Function("f", [Number(1)]).match("f", 1)) self.assertFalse(Function("f", [Number(1), Number(2)]).match("f", 1)) self.assertFalse(Number(1).match("f", 1))
Test symbol matching.
def test_number(self)
-
Expand source code
def test_number(self): """ Test numbers. """ n = Number(1) self.assertEqual(n.number, 1) self.assertEqual(n.type, SymbolType.Number)
Test numbers.
def test_parse(self)
-
Expand source code
def test_parse(self): """ Test term parsing. """ self.assertEqual(str(parse_term("p(3)")), "p(3)") log = [] self.assertRaises( RuntimeError, parse_term, "p(1/0)", lambda code, message: log.append((code, message)), ) self.assertEqual(len(log), 0)
Test term parsing.
def test_repr(self)
-
Expand source code
def test_repr(self): """ Test representation of symbols. """ self.assertEqual( repr( Function("test", [Number(10), Infimum, Supremum, String("test")], False) ), "Function('test', [Number(10), Infimum, Supremum, String('test')], False)", )
Test representation of symbols.
def test_str(self)
-
Expand source code
def test_str(self): """ Test string representation of symbols. """ self.assertEqual(str(Number(10)), "10")
Test string representation of symbols.
def test_string(self)
-
Expand source code
def test_string(self): """ Test strings. """ s = String("blub") self.assertEqual(s.string, "blub") self.assertEqual(s.type, SymbolType.String)
Test strings.