Ejemplo n.º 1
0
def test_get_price():
    pf = PriceFactory("0.01")
    p = pf.get_price(100)
    assert p == Price(100)
    assert p == Decimal("100.00")
    p = pf.get_price("100.01")
    assert p == Price("100.01")
    assert p == Decimal("100.01")
    p = pf.get_price(Decimal("222.22"))
    assert p == Price("222.22")
    assert p == Decimal("222.22")
Ejemplo n.º 2
0
def test_prev_price():
    pf = PriceFactory(".5")
    starting_price = pf.get_price(100)
    new_price = pf.prev_price(starting_price, BID_SIDE)
    assert new_price == Price("99.5")
    new_price = pf.prev_price(new_price, BID_SIDE)
    assert new_price == Price(99)

    new_price = pf.prev_price(new_price, ASK_SIDE)
    assert new_price == Price("99.5")
    new_price = pf.prev_price(new_price, ASK_SIDE)
    assert new_price == Price(100)
Ejemplo n.º 3
0
def test_next_price():
    pf = PriceFactory(".5")
    starting_price = pf.get_price(100)
    new_price = pf.next_price(starting_price, BID_SIDE)
    assert new_price == Price("100.5")
    new_price = pf.next_price(new_price, BID_SIDE)
    assert new_price == Price(101)

    new_price = pf.next_price(new_price, ASK_SIDE)
    assert new_price == Price("100.5")
    new_price = pf.next_price(new_price, ASK_SIDE)
    assert new_price == Price(100)
Ejemplo n.º 4
0
def test_min_price():
    pf = PriceFactory("0.01", min_price=Decimal("100.0"))
    # should work for 100.01 and 100.0 but not 99.99
    # also, price 100.01 should and 100.00 should not create 99.00
    pf.get_price("100.01")
    pf.get_price("100.00")
Ejemplo n.º 5
0
def test_get_price_wrong_mpi_int():
    with pytest.raises(InvalidPriceException):
        pf = PriceFactory(5)
        pf.get_price(7)
Ejemplo n.º 6
0
def test_get_price_wrong_mpi_decimal():
    with pytest.raises(InvalidPriceException):
        pf = PriceFactory("0.01")
        pf.get_price(Decimal("100.001"))
Ejemplo n.º 7
0
def test_max_price_excpetion():
    with pytest.raises(InvalidPriceException):
        pf = PriceFactory("0.01", max_price=Decimal("100.0"))
        pf.get_price("100.01")
Ejemplo n.º 8
0
def test_max_price():
    pf = PriceFactory("0.01", max_price=Decimal("100.0"))
    # should work for 99.99 and 100.0 but not 100.01
    # also, price 99.99 and 100.00 should be created, but should not create 99.00
    pf.get_price("99.99")
    pf.get_price("100.00")
Ejemplo n.º 9
0
def test_min_price_excpetion():
    with pytest.raises(InvalidPriceException):
        pf = PriceFactory("0.01", min_price=Decimal("100.0"))
        # should work for 100.01 and 100.0 but not 99.99
        # also, price 100.01 should and 100.00 should not create 99.00
        pf.get_price("99.99")