From b4d5591ab03970e0326b37f67b15e5297aca6940 Mon Sep 17 00:00:00 2001 From: thinwybk Date: Fri, 4 Mar 2016 20:55:56 +0100 Subject: [PATCH 1/2] add: tests for borg.py --- test_borg.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 test_borg.py diff --git a/test_borg.py b/test_borg.py new file mode 100644 index 000000000..c08fd19d5 --- /dev/null +++ b/test_borg.py @@ -0,0 +1,31 @@ +from borg import Borg, YourBorg +import sys + +if sys.version_info < (2, 7): + import unittest2 as unittest +else: + import unittest + +class BorgTest(unittest.TestCase): + + @classmethod + def setUpClass(self): + self.b1 = Borg() + self.b2 = Borg() + self.ib1 = YourBorg() + + def test_initial_borg_state_shall_be_init(self): + b = Borg() + self.assertEqual(b.state, 'Init') + + def test_changing_instance_attribute_shall_change_borg_state(self): + self.b1.state = 'Running' + self.assertEqual(self.b1.state, 'Running') + self.assertEqual(self.b2.state, 'Running') + self.assertEqual(self.ib1.state, 'Running') + + def test_instances_shall_have_own_ids(self): + self.assertNotEqual(id(self.b1), id(self.b2), id(self.ib1)) + +if __name__ == "__main__": + unittest.main() From 6f421c68552777503aa23258c41a958e7d2b5338 Mon Sep 17 00:00:00 2001 From: thinwybk Date: Fri, 4 Mar 2016 21:05:30 +0100 Subject: [PATCH 2/2] delete: test for observer for clean branch --- test_observer.py | 65 ------------------------------------------------ 1 file changed, 65 deletions(-) delete mode 100644 test_observer.py diff --git a/test_observer.py b/test_observer.py deleted file mode 100644 index 044544810..000000000 --- a/test_observer.py +++ /dev/null @@ -1,65 +0,0 @@ -import sys -from io import StringIO -from observer import Subject, Data, DecimalViewer, HexViewer - -if sys.version_info < (2, 7): - import unittest2 as unittest -else: - import unittest - - -class TestSubject(unittest.TestCase): - - @classmethod - def setUpClass(self): - self.s = Subject() - self.dec_obs = DecimalViewer() - self.hex_obs = HexViewer() - - def test_a_observer_list_shall_be_empty_initially(self): - self.assertEqual(len(self.s._observers), 0) - - def test_b_observers_shall_be_attachable(self): - self.s.attach(self.dec_obs) - self.assertEqual(isinstance(self.s._observers[0], DecimalViewer), True) - self.assertEqual(len(self.s._observers), 1) - self.s.attach(self.hex_obs) - self.assertEqual(isinstance(self.s._observers[1], HexViewer), True) - self.assertEqual(len(self.s._observers), 2) - - def test_c_observers_shall_be_detachable(self): - self.s.detach(self.dec_obs) - # hex viewer shall be remaining if dec viewer is detached first - self.assertEqual(isinstance(self.s._observers[0], HexViewer), True) - self.assertEqual(len(self.s._observers), 1) - self.s.detach(self.hex_obs) - self.assertEqual(len(self.s._observers), 0) - -class TestData(unittest.TestCase): - - @classmethod - def setUpClass(self): - dec_obs = DecimalViewer() - hex_obs = HexViewer() - self.sub1 = Data('Data 1') - self.sub2 = Data('Data 2') - #inherited behavior already tested with TestSubject - self.sub1.attach(dec_obs) - self.sub1.attach(hex_obs) - self.sub2.attach(dec_obs) - self.sub2.attach(hex_obs) - - def setUp(self): - self.output = StringIO() - self.saved_stdout = sys.stdout - sys.stdout = self.output - -# def test_observers_shall_be_notified(self): -# self.sub1.data = 10 - - def tearDown(self): - self.output.close() - sys.stdout = self.saved_stdout - -if __name__ == "__main__": - unittest.main()