git @ Cat's Eye Technologies Samovar / d883eba
Begin adding a unit test suite to test the internals. Chris Pressey 6 years ago
2 changed file(s) with 37 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 import unittest
1 from unittest import TestCase
2
3 from samovar.terms import Term, Var
4
5
6 class TermTestCase(TestCase):
7 def test_term_basic_properties(self):
8 t1 = Term('alice')
9 t2 = Term('actor', subterms=[t1])
10 v1 = Var('?A')
11 t3 = Term('actor', subterms=[v1])
12
13 self.assertTrue(t1.is_atom())
14 self.assertFalse(t2.is_atom())
15 self.assertFalse(v1.is_atom())
16 self.assertFalse(t3.is_atom())
17
18 self.assertTrue(t1.is_ground())
19 self.assertTrue(t2.is_ground())
20 self.assertFalse(v1.is_ground())
21 self.assertFalse(t3.is_ground())
22
23 self.assertEqual(t2, Term('actor', subterms=[Term('alice')]))
24
25 def test_term_replace(self):
26 t = Term('actor', subterms=[Var('?A')])
27 r = t.replace(Var('?A'), Term('alice'))
28 self.assertEqual(r, Term('actor', subterms=[Term('alice')]))
29
30
31 if __name__ == '__main__':
32 unittest.main()
00 #!/bin/sh
11
2 if [ "x$PYTHON" = "x" ]; then
3 PYTHON="python2.7"
4 fi
5 PYTHONPATH=src $PYTHON src/samovar/tests.py -v || exit 1
26 falderal -b doc/Samovar.md || exit 1