OILS / mycpp / mylib_test.py View on Github | oilshell.org

56 lines, 36 significant
1#!/usr/bin/env python2
2"""
3mylib_test.py: Tests for mylib.py
4"""
5from __future__ import print_function
6
7import unittest
8
9from mycpp import mylib # module under test
10
11
12class MylibTest(unittest.TestCase):
13
14 def testSplit(self):
15 self.assertEqual(('foo', None), mylib.split_once('foo', '='))
16 self.assertEqual(('foo', ''), mylib.split_once('foo=', '='))
17 self.assertEqual(('foo', 'bar'), mylib.split_once('foo=bar', '='))
18
19 def testFile(self):
20 return
21 stdout = mylib.File(1)
22 stderr = mylib.File(2)
23
24 stdout.write('stdout ')
25 stdout.writeln('stdout')
26
27 stderr.write('stderr ')
28 stderr.writeln('stderr ')
29
30 def testUniqueObjects(self):
31 u = mylib.UniqueObjects()
32
33 foo = 'foo'
34 bar = 'bar'
35 d = {}
36
37 u.Add(foo)
38 u.Add(bar)
39 u.Add(d)
40
41 self.assertEqual(0, u.Get(foo))
42 self.assertEqual(1, u.Get(bar))
43 self.assertEqual(2, u.Get(d))
44 self.assertEqual(-1, u.Get('zzz'))
45
46 # Can't add it twice, caller is responsible for checking
47 try:
48 u.Add(foo)
49 except AssertionError:
50 pass
51 else:
52 self.fail('Expected assertion')
53
54
55if __name__ == '__main__':
56 unittest.main()