1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import unittest
from gn2.base.GeneralObject import GeneralObject
class TestGeneralObjectTests(unittest.TestCase):
"""
Test the GeneralObject base class
"""
def test_object_contents(self):
"""Test whether base contents are stored properly"""
test_obj = GeneralObject("a", "b", "c")
self.assertEqual("abc", ''.join(test_obj.contents))
self.assertEqual(len(test_obj), 0)
def test_object_dict(self):
"""Test whether the base class is printed properly"""
test_obj = GeneralObject("a", name="test", value=1)
self.assertEqual(str(test_obj), "name = test\nvalue = 1\n")
self.assertEqual(
repr(test_obj), "contents = ['a']\nname = test\nvalue = 1\n")
self.assertEqual(len(test_obj), 2)
self.assertEqual(test_obj["value"], 1)
test_obj["test"] = 1
self.assertEqual(test_obj["test"], 1)
def test_get_attribute(self):
"Test that getattr works"
test_obj = GeneralObject("a", name="test", value=1)
self.assertEqual(getattr(test_obj, "value", None), 1)
self.assertEqual(getattr(test_obj, "non-existent", None), None)
def test_object_comparisons(self):
"Test that 2 objects of the same length are equal"
test_obj1 = GeneralObject("a", name="test", value=1)
test_obj2 = GeneralObject("b", name="test2", value=2)
test_obj3 = GeneralObject("a", name="test", x=1, y=2)
self.assertTrue(test_obj1 == test_obj2)
self.assertFalse(test_obj1 == test_obj3)
|