コード例 #1
0
 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')
コード例 #2
0
 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(), '')
コード例 #3
0
 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')
コード例 #4
0
 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')
コード例 #5
0
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())
コード例 #6
0
 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()
コード例 #7
0
 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')
コード例 #8
0
 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')