From 56d4d8fde8beef72456d6e21d4e3b7d0c9444c23 Mon Sep 17 00:00:00 2001 From: Artur Meski Date: Wed, 15 Mar 2017 22:33:14 +0100 Subject: [PATCH] Sanity checks for bags. --- logics/bags.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/logics/bags.py b/logics/bags.py index d80135c..30ef358 100644 --- a/logics/bags.py +++ b/logics/bags.py @@ -8,6 +8,8 @@ class BagDescription(object): self.right_operand = R_oper self.entity = entity + self.sanity_check() + def __repr__(self): if self.f_type == BagDesc_oper.entity: return self.entity @@ -31,12 +33,13 @@ class BagDescription(object): return repr(self.left_operand) + " > " + repr(self.right_operand) def sanity_check(self): - """Checks if the right operands for the relations are integers""" - - # TODO - - pass + """Sanity checks""" + for operand in (self.left_operand, self.right_operand): + if operand: + if not (isinstance(operand, BagDescription) or isinstance(operand, int)): + raise RuntimeError("Unexpected operand type for a bag: " + str(operand)) + @classmethod def f_entity(cls, entity_name): return cls(BagDesc_oper.entity, entity = entity_name)