def METHOD_NAME(self):
    classes = {cls for cls in all_subclasses(Operation)}
    # drop abstract classes
    for cls in classes.copy():
        if inspect.isabstract(cls):
            classes.remove(cls)
    # test every Operation subclass and drop from `classes`
    for obj in self._list_objects():
        if obj.__class__ in classes:
            classes.remove(obj.__class__)
        deserialized_obj = Operation.from_dict(json.loads(json.dumps(obj.to_dict())))
        self.assertEqual(obj.__dict__, deserialized_obj.__dict__)
    # expect no Operation subclass left
    self.assertEqual(classes, set())