Example #1
0
    def test_invalid_date_column(self):
        currency_converter = ConvertCurrencyScrubber('value', 'invalid', 'USD',
                                                     'invalid_date')

        with self.assertRaises(RuntimeError):
            self.assertEqual(False,
                             currency_converter.validate(self._data_model))
Example #2
0
    def test_valid_metadata(self):
        self._data_model.metadata.define_numerical_columns(['value'])
        self._data_model.metadata.define_categorical_columns(['currency'])

        currency_converter = ConvertCurrencyScrubber('value', 'value',
                                                     'currency', 'USD', 'date')
        currency_converter.validate_metadata(self._data_model.metadata)
Example #3
0
    def test_invalid_metadata(self):
        self._data_model.metadata.define_numerical_columns(
            ['value', 'currency'])

        currency_converter = ConvertCurrencyScrubber('value', 'currency',
                                                     'USD', 'date')
        with self.assertRaises(RuntimeError):
            currency_converter.validate_metadata(self._data_model.metadata)
Example #4
0
    def test_converting_without_date_column(self):
        currency_converter = ConvertCurrencyScrubber('value', 'value',
                                                     'currency', 'USD')

        currency_converter.scrub(self._data_model)

        df = self._data_model.get_dataframe()
        result = df['value']
        self.assertEqual(0.0, result[0])
        self.assertEqual(2.0, result[1])
        self.assertEqual(116, round(result[2]))
Example #5
0
    def test_multiple_validation(self):
        average_column_scrubber = AverageColumnScrubber(('value_1', 'value_2'),
                                                        'value')
        convert_currency_scrubber = ConvertCurrencyScrubber(
            'value', 'new_value', 'currency', 'USD', 'date')
        self.and_scrubber = AndScrubber(average_column_scrubber,
                                        convert_currency_scrubber)

        self.and_scrubber.validate_metadata(self.data_model.metadata)
Example #6
0
    def test_second_invalid(self):
        average_column_scrubber = AverageColumnScrubber(('value_1', 'value_2'),
                                                        'value')
        convert_currency_scrubber = ConvertCurrencyScrubber(
            'value', 'invalid', 'USD', 'date')
        self.and_scrubber = AndScrubber(average_column_scrubber,
                                        convert_currency_scrubber)

        with self.assertRaises(RuntimeError):
            self.and_scrubber.validate_metadata(self.data_model.metadata)
Example #7
0
    def test_multiple_scrubbing(self):
        average_column_scrubber = AverageColumnScrubber(('value_1', 'value_2'),
                                                        'value')
        convert_currency_scrubber = ConvertCurrencyScrubber(
            'value', 'new_value', 'currency', 'USD', 'date')
        self.and_scrubber = AndScrubber(average_column_scrubber,
                                        convert_currency_scrubber)

        self.and_scrubber.scrub(self.data_model)
        result = self.data_model.get_dataframe()['new_value']
        self.assertEqual(0.0, result[0])
        self.assertEqual(2.0, result[1])
        self.assertEqual(105, round(result[2]))
Example #8
0
 def test_valid_columns_without_date(self):
     currency_converter = ConvertCurrencyScrubber('value', 'value',
                                                  'currency', 'USD')
     currency_converter.validate(self._data_model)
Example #9
0
    def test_valid_columns(self):
        currency_converter = ConvertCurrencyScrubber('value', 'currency',
                                                     'USD', 'date')

        with self.assertRaises(RuntimeError):
            currency_converter.validate(self._data_model)