Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #RangeArgument definition
- class RangeArgument(Argument):
- __mapper_args__ = {'polymorphic_identity': 'RangeArgument'}
- def __init__(self,arg,range):
- Argument.__init__(self,type="RangeArgument",description="An argument with a defined numeric range.")
- self.arg = arg
- self.range = range
- def validate(self):
- return self.arg in self.range
- @hybrid_property
- def arg(self):
- return self.data['arg']
- @arg.setter
- def arg(self,arg):
- self.data['arg'] = arg
- @hybrid_property
- def range(self):
- return self.data['range']
- @range.setter
- def range(self,range):
- self.data['range'] = range
- #Argument definition
- class Argument(Base):
- __tablename__ = "arguments"
- id = Column(Integer, primary_key=True)
- name = Column(String, default="untitled")
- type = Column(String, default="Base")
- description = Column(String)
- data = Column(PickleType, default={})
- parent_id = Column(Integer, ForeignKey(id))
- __mapper_args__ = {"polymorphic_on":type,
- "polymorphic_identity":"Base"}
- children = relationship("Argument", backref=backref("parent", remote_side=[id]))
- #Failing test
- def test_argument_subclass_creation(self):
- rang = [range(1,5),range(1,10),range(10,100)]
- rangearg_1 = RangeArgument(-1,rang[0])
- rangearg_2 = RangeArgument(4,rang[1])
- rangearg_3 = RangeArgument(74.5,rang[2])
- assert rangearg_1.data['range'] == rang[0]
- assert rangearg_2.data['range'] == rang[1]
- assert rangearg_3.data['range'] == rang[2]
- #Passing test
- def test_arguments_insertion(self):
- child1_data = {"child":"Hi!"}
- child_1 = Argument(description="A child argument used for testing", data=child1_data)
- child2_data = {"child":"Hi!", "test":"it works"}
- child_2 = Argument(description="A child argument used for testing", data=child2_data)
- self.arguments["child_1"] = child_1
- self.arguments["child_2"] = child_2
- assert not "test" in self.arguments["child_1"].data
- assert "test" in self.arguments["child_2"].data
- assert self.arguments["child_1"].data == child1_data
- assert self.arguments["child_2"].data == child2_data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement