diff --git a/tests/pipeline/test_adjustment.py b/tests/pipeline/test_adjustment.py index 69f8294a..9e31041e 100644 --- a/tests/pipeline/test_adjustment.py +++ b/tests/pipeline/test_adjustment.py @@ -35,6 +35,21 @@ class AdjustmentTestCase(TestCase): ) self.assertEqual(result, expected) + def test_make_int_adjustment(self): + result = adj.make_adjustment_from_indices( + 1, 2, 3, 4, + adjustment_kind=adj.OVERWRITE, + value=1, + ) + expected = adj.Int64Overwrite( + first_row=1, + last_row=2, + first_col=3, + last_col=4, + value=1, + ) + self.assertEqual(result, expected) + def test_make_datetime_adjustment(self): overwrite_dt = make_datetime64ns(0) result = adj.make_adjustment_from_indices( @@ -51,15 +66,12 @@ class AdjustmentTestCase(TestCase): ) self.assertEqual(result, expected) - def test_make_object_adjustment(self): - class SomeClass(object): - pass - my_value = SomeClass() - + @parameterized.expand([("some text",), ("some text".encode(),), (None,)]) + def test_make_object_adjustment(self, value): result = adj.make_adjustment_from_indices( 1, 2, 3, 4, adjustment_kind=adj.OVERWRITE, - value=my_value, + value=value, ) expected = adj.ObjectOverwrite( @@ -67,6 +79,24 @@ class AdjustmentTestCase(TestCase): last_row=2, first_col=3, last_col=4, - value=my_value, + value=value, ) self.assertEqual(result, expected) + + def test_unsupported_type(self): + class SomeClass(object): + pass + + with self.assertRaises(TypeError) as e: + adj.make_adjustment_from_indices( + 1, 2, 3, 4, + adjustment_kind=adj.OVERWRITE, + value=SomeClass(), + ) + + exc = e.exception + expected_msg = ( + "Don't know how to make overwrite adjustments for values of type " + "%r." % SomeClass + ) + self.assertEqual(str(exc), expected_msg)