Source code for pyoanda.tests.test_order

from datetime import datetime
try:
    import unittest2 as unittest
except ImportError:
    import unittest

from ..order import Order


[docs]class OrderClassTest(unittest.TestCase):
[docs] def fail(self, order): with self.assertRaises(TypeError): assert order.check()
[docs] def test_creation(self): order = Order( instrument="GBP_EUR", units=11, side="buy", type="market" ) assert order.check()
[docs] def test_creation_bad_param(self): order = Order( instrument="GBP_EUR", units=11, side="buy", type="market", bad="param" ) self.fail(order)
[docs] def test_creation_bad_units(self): order = Order( instrument="GBP_EUR", units="bad", side="buy", type="market" ) self.fail(order)
[docs] def test_creation_bad_side(self): order = Order( instrument="GBP_EUR", units=1, side="bad", type="market" ) self.fail(order)
[docs] def test_creation_bad_type(self): order = Order( instrument="GBP_EUR", units=1, side="sell", type="bad" ) self.fail(order)
[docs] def test_creation_with_type(self): order = Order( instrument="GBP_EUR", units=1, side="sell", type="limit", price=10.0, expiry=datetime.now() ) assert order.check()
[docs] def test_creation_with_type_error(self): order = Order( instrument="GBP_EUR", units=1, side="sell", type="limit", price=10.0, ) self.fail(order)
[docs] def test_creation_bad_expiry(self): order = Order( instrument="GBP_EUR", units=1, side="sell", type="limit", price=10.0, expiry="datetime.now()" ) self.fail(order)
[docs] def test_creation_bad_price(self): order = Order( instrument="GBP_EUR", units=1, side="sell", type="limit", price="10.0", expiry=datetime.now() ) assert order.check()