def test_transformer_transforms(self) -> None: mock_transformer1 = MagicMock() mock_transformer1.transform.side_effect = lambda s: s + "b" mock_transformer2 = MagicMock() mock_transformer2.transform.side_effect = lambda s: s + "c" chained_transformer = ChainedTransformer( transformers=[mock_transformer1, mock_transformer2]) config = ConfigFactory.from_dict({}) chained_transformer.init(conf=config) result = next(chained_transformer.transform("a")) self.assertEqual(result, "abc")
def test_init_not_called(self) -> None: mock_transformer1 = MagicMock() mock_transformer2 = MagicMock() chained_transformer = ChainedTransformer( transformers=[mock_transformer1, mock_transformer2]) config = ConfigFactory.from_dict({}) chained_transformer.init(conf=config) chained_transformer.transform({'foo': 'bar'}) mock_transformer1.init.assert_not_called() mock_transformer1.transform.assert_called_once() mock_transformer2.init.assert_not_called() mock_transformer2.transform.assert_called_once()
def test_init_not_called(self) -> None: mock_transformer1 = MagicMock() mock_transformer1.transform.return_value = "foo" mock_transformer2 = MagicMock() mock_transformer2.transform.return_value = "bar" chained_transformer = ChainedTransformer( transformers=[mock_transformer1, mock_transformer2]) config = ConfigFactory.from_dict({}) chained_transformer.init(conf=config) next(chained_transformer.transform({"foo": "bar"})) mock_transformer1.init.assert_not_called() mock_transformer1.transform.assert_called_once() mock_transformer2.init.assert_not_called() mock_transformer2.transform.assert_called_once()
def test_init_called(self) -> None: mock_transformer1 = MagicMock() mock_transformer1.get_scope.return_value = 'foo' mock_transformer2 = MagicMock() mock_transformer2.get_scope.return_value = 'bar' chained_transformer = ChainedTransformer( transformers=[mock_transformer1, mock_transformer2], is_init_transformers=True) config = ConfigFactory.from_dict({}) chained_transformer.init(conf=config) chained_transformer.transform({'foo': 'bar'}) mock_transformer1.init.assert_called_once() mock_transformer1.transform.assert_called_once() mock_transformer2.init.assert_called_once() mock_transformer2.transform.assert_called_once()