def test_validate(self): #no order type set o1 = Order(dir=Order.BUY, size=100, level=100) self.aRaise(InvalidOrderException, Order.validate, o1, 100) #no level set o1 = Order(dir=Order.BUY, size=100, type=Order.LIMIT) self.aRaise(InvalidOrderException, Order.validate, o1, 100) #a buy limit must be lower than the mark o1 = Order(dir=Order.BUY, size=100, type=Order.LIMIT, level=100) self.aRaise(InvalidOrderException, Order.validate, o1, 99) #should not raise anything Order.validate(o1, 101) #a buy stop must be higher than the mark o1 = Order(dir=Order.BUY, size=100, type=Order.STOP, level=100) self.aRaise(InvalidOrderException, Order.validate, o1, 101) #should not raise anything Order.validate(o1, 99) #a sell limit must be higher than mark o1 = Order(dir=Order.SELL, size=-100, type=Order.LIMIT, level=100) self.aRaise(InvalidOrderException, Order.validate, o1, 101) #should not raise anything Order.validate(o1, 99) #a sell stop must be lower than mark o1 = Order(dir=Order.SELL, size=-100, type=Order.STOP, level=100) self.aRaise(InvalidOrderException, Order.validate, o1, 99) #should not raise anything Order.validate(o1, 101)