Esempio n. 1
0
def test_apply_and_enforce_message():
    def func():
        return pd.DataFrame(columns=["A", "B", "C"], index=[0])

    meta = pd.DataFrame(columns=["A", "D"], index=[0])
    with pytest.raises(ValueError, match="Extra: *['B', 'C']"):
        apply_and_enforce(_func=func, _meta=meta)

    with pytest.raises(ValueError, match=re.escape("Missing: ['D']")):
        apply_and_enforce(_func=func, _meta=meta)
Esempio n. 2
0
 def __call__(self, packed_arg):
     if not self.packed:
         packed_arg = [packed_arg]
     if self.enforce_metadata:
         return apply_and_enforce(
             *packed_arg,
             *(self.args or []),
             _func=self.func,
             _meta=self.meta,
             **(self.kwargs or {}),
         )
     return self.func(
         *packed_arg,
         *(self.args or []),
         **(self.kwargs or {}),
     )