def test_equals_operation(self): rang = RangeViewModel() rang.set_operation(Operation.EQUALS) rang.set_value_1('[1,5]') rang.set_value_2('[1,5)') rang.make_operation() self.assertEqual(rang.get_result_string(), 'No')
def test_clear_result(self): rang = RangeViewModel() rang.set_value_1('(1,5)') rang.set_operation(Operation.END_POINTS) rang.make_operation() rang.clear_result() self.assertEqual(rang.get_result_string(), '')
def test_overlap_operation(self): rang = RangeViewModel() rang.set_operation(Operation.OVERLAP) rang.set_value_1('[1,5]') rang.set_value_2('[2,3]') rang.make_operation() self.assertEqual(rang.get_result_string(), 'No')
def test_make_contains_operation_with_range(self): rang = RangeViewModel() rang.set_value_1('[1,5]') rang.set_value_2('[1,3]') rang.make_operation() self.assertEqual(rang.get_result_string(), 'Yes')
class TestViewModelFakeLogging(unittest.TestCase): def setUp(self): self.view_model = RangeViewModel(FakeLogger()) def test_logging_init(self): self.assertEqual('RangeViewModel started', self.view_model.logger.get_last_message()) def test_logging_set_first_value(self): self.view_model.set_value_1('[1,5)') self.assertEqual('Set value 1: [1,5)', self.view_model.logger.get_last_message()) def test_logging_set_first_value_error(self): try: self.view_model.set_value_1('[1,5') except ValueError: self.assertEqual('Set value 1 exc: Input error: wrong format', self.view_model.logger.get_last_message()) def test_logging_set_second_value(self): self.view_model.set_value_2('[1,5)') self.assertEqual('Set value 2: [1,5)', self.view_model.logger.get_last_message()) def test_logging_set_second_value_error(self): try: self.view_model.set_value_2('[eee5)') except ValueError: self.assertEqual('Set value 2 exc: Input error: wrong format', self.view_model.logger.get_last_message()) def test_logging_test_operation(self): self.view_model.set_operation(Operation.OVERLAP) self.assertEqual('Set operation OVERLAP', self.view_model.logger.get_last_message()) def test_logging_set_result(self): self.view_model.set_value_1('(1,5)') self.view_model.set_operation(Operation.END_POINTS) self.view_model.make_operation() self.assertEqual('Set result [2, 4]', self.view_model.logger.get_log_messages()[-2]) def test_logging_calc_started(self): self.view_model.set_value_1('(1,5)') self.view_model.set_operation(Operation.END_POINTS) self.view_model.make_operation() self.assertEqual('Make operation started.', self.view_model.logger.get_log_messages()[-3]) def test_logging_calc_ended(self): self.view_model.set_value_1('(1,5)') self.view_model.set_operation(Operation.END_POINTS) self.view_model.make_operation() self.assertEqual('Make operation ended.', self.view_model.logger.get_log_messages()[-1]) def test_logging_result_cleared(self): self.view_model.clear_result() self.assertEqual('Result cleared', self.view_model.logger.get_last_message()) def test_logging_exception(self): self.view_model.set_value_1('(1,5)') self.view_model.set_operation(Operation.OVERLAP) try: self.view_model.make_operation() except Exception: self.assertEqual( 'Calc exception: Wrong type of obj. Expected: Range', self.view_model.logger.get_last_message())
def test_calc_exception(self): rang = RangeViewModel() rang.set_value_1('(1,5)') rang.set_operation(Operation.OVERLAP) with self.assertRaises(Exception): rang.make_operation()
def test_get_end_points_operation(self): rang = RangeViewModel() rang.set_operation(Operation.END_POINTS) rang.set_value_1('(1,5)') rang.make_operation() self.assertEqual(rang.get_result_string(), '2 4')
def test_get_all_points_operation(self): rang = RangeViewModel() rang.set_operation(Operation.ALL_POINTS) rang.set_value_1('(1,5]') rang.make_operation() self.assertEqual(rang.get_result_string(), '2 3 4 5')