Esempio n. 1
0
 def test_raises_for_invalid_call(self):
     config = Composition(
         find_fixture('composition', 'method'),
         ConfigStoreMock(),
     )
     with self.assertRaises(RuntimeError):
         config.get_data()
Esempio n. 2
0
    def test_good_file_complex_key(self):
        config = KeyValueConfig(find_fixture('key_value', 'good'))

        data = config.get_data()

        self.assertIn('Key 2', data)
        self.assertEqual(data['Key 2'], 'Value 2 which is longer')
Esempio n. 3
0
    def test_good_file_simple_key(self):
        config = KeyValueConfig(find_fixture('key_value', 'good'))

        data = config.get_data()

        self.assertIn('Key1', data)
        self.assertEqual(data['Key1'], 'Value1')
Esempio n. 4
0
    def test_all_values_are_changes(self):
        config = Calls(find_fixture('calls', 'good'), ConfigStoreMock())

        for call, change in config.get_data().items():
            with self.subTest(call=call):
                self.assertIsInstance(change, Change)
                self.assertEqual(change.bells, 6)
Esempio n. 5
0
    def test_all_values_are_methods(self):
        config = Methods(find_fixture('methods', 'good'), ConfigStoreMock())

        for base_name, method in config.get_data().items():
            with self.subTest(base_name=base_name):
                self.assertIsInstance(method, Method)
                self.assertEqual(method.name, base_name)
                self.assertEqual(method.bells, 6)
Esempio n. 6
0
    def test_blank_lines_skipped(self):
        config = KeyValueConfig(find_fixture('key_value', 'padded'))

        data = config.get_data()

        self.assertIs(len(data), 1)
        self.assertIn('Key', data)
        self.assertEqual(data['Key'], 'Value')
Esempio n. 7
0
    def test_whitespace_padding_stripped(self):
        config = Composition(
            find_fixture('composition', 'padded'),
            ConfigStoreMock(),
        )

        data = config.get_data()

        self.assertIs(len(data), 2)
        self.assertEqual(data, ['Cambridge', '-'])
Esempio n. 8
0
    def test_only_loads_calls_if_needed(self):
        config_store = ConfigStoreMock()
        config_store.calls = None  # Will raise TypeError if accessed

        config = Composition(
            find_fixture('composition', 'plain'),
            config_store,
        )

        # Test passes if no error
        config.get_data()
Esempio n. 9
0
    def test_passes_the_file_to_derived_classes(self):
        filename = find_fixture('base', 'good')
        config = TestConfig(filename)
        config._process_data = MagicMock()

        config.get_data()

        self.assertIs(config._process_data.call_count, 1)

        file = config._process_data.call_args[0][0]
        self.assertIsInstance(file, io.TextIOBase)
        self.assertEqual(file.name, filename)
Esempio n. 10
0
    def test_only_processes_data_once(self):
        config = TestConfig(find_fixture('base', 'good'))
        config._process_data = MagicMock()

        self.assertIs(config._process_data.call_count, 0)

        config.get_data()

        self.assertIs(config._process_data.call_count, 1)

        config.get_data()

        self.assertIs(config._process_data.call_count, 1)
Esempio n. 11
0
    def test_method_has_expected_data(self):
        config = Methods(find_fixture('methods', 'good'), ConfigStoreMock())

        cambridge = config.get_data()['Cambridge']

        self.assertEqual(cambridge.full_name(), 'Cambridge Surprise Minor')
        self.assertEqual(
            cambridge.format(
                 external_places=True,
                 cross_dash=True,
                 symmetry=True,
            ),
            '&-36-14-12-36-14-56,12',
        )
Esempio n. 12
0
 def test_good_file_loaded_correctly(self):
     config = SingleValueConfig(find_fixture('single_value', 'good'))
     self.assertEqual(config.get_data(), 'test')
Esempio n. 13
0
 def test_raises_for_invalid_method(self, _):
     config = Methods(find_fixture('methods', 'bad'), ConfigStoreMock())
     with self.assertRaises(ValueError):
         config.get_data()
Esempio n. 14
0
 def test_values_loaded_correctly(self):
     config = Composition(
         find_fixture('composition', 'good'),
         ConfigStoreMock(),
     )
     self.assertEqual(config.get_data(), ['Cambridge', '-'])
Esempio n. 15
0
 def test_good_file_loaded_without_error(self):
     config = Calls(find_fixture('calls', 'good'), ConfigStoreMock())
     self.assertIs(len(config.get_data()), 2)
Esempio n. 16
0
 def test_good_file_loaded_without_error(self):
     config = KeyValueConfig(find_fixture('key_value', 'good'))
     self.assertIs(len(config.get_data()), 2)
Esempio n. 17
0
 def test_good_file_loaded_without_error(self):
     config = Composition(
         find_fixture('composition', 'good'),
         ConfigStoreMock(),
     )
     self.assertIs(len(config.get_data()), 2)
Esempio n. 18
0
 def test_good_file_loaded_correctly(self):
     config = Extents(find_fixture('extents', 'good'))
     self.assertIs(config.get_data(), 7)
Esempio n. 19
0
 def test_good_file_loaded_correctly(self):
     config = Bells(find_fixture('bells', 'good'))
     self.assertIs(config.get_data(), 12)
Esempio n. 20
0
 def test_good_file_loaded_correctly(self):
     config = IntegerValueConfig(find_fixture('integer_value', 'good'))
     self.assertIs(config.get_data(), 12)
Esempio n. 21
0
 def test_whitespace_padding_stripped(self):
     config = SingleValueConfig(find_fixture('single_value', 'padded'))
     self.assertEqual(config.get_data(), 'test')
Esempio n. 22
0
    def test_call_has_expected_data(self):
        config = Calls(find_fixture('calls', 'good'), ConfigStoreMock())

        bob = config.get_data()['-']

        self.assertEqual(str(bob), '14')
Esempio n. 23
0
 def test_raises_for_missing_file(self):
     config = SingleValueConfig(find_fixture('single_value', 'missing'))
     with self.assertRaises(FileNotFoundError):
         config.get_data()
Esempio n. 24
0
 def test_returns_the_processed_result_from_derived_classes(self):
     config = TestConfig(find_fixture('base', 'good'))
     self.assertEqual(config.get_data(), 'test')
Esempio n. 25
0
 def test_raises_for_non_integers(self):
     config = IntegerValueConfig(find_fixture('integer_value', 'bad'))
     with self.assertRaises(ValueError):
         config.get_data()
Esempio n. 26
0
 def test_raises_if_file_not_found(self):
     config = BaseConfig(find_fixture('base', 'missing'))
     with self.assertRaises(FileNotFoundError):
         config.get_data()
Esempio n. 27
0
 def test_raises_for_high_value(self):
     config = Bells(find_fixture('bells', 'high'))
     with self.assertRaises(RuntimeError):
         config.get_data()
Esempio n. 28
0
 def test_raises_not_implemented_for_abstract_base(self):
     config = BaseConfig(find_fixture('base', 'good'))
     with self.assertRaises(NotImplementedError):
         config.get_data()
Esempio n. 29
0
 def test_raises_for_low_value(self):
     config = Extents(find_fixture('extents', 'low'))
     with self.assertRaises(RuntimeError):
         config.get_data()
Esempio n. 30
0
 def test_raises_for_invalid_call(self, _):
     config = Calls(find_fixture('calls', 'bad'), ConfigStoreMock())
     with self.assertRaises(ValueError):
         config.get_data()