def test_hoursAppart(): priceMove1 = entities.PriceMove() priceMove2 = entities.PriceMove() priceMove1.addKline(kline1) priceMove2.addKline(kline3) result = priceMove2.hoursAppart(priceMove1) expected = 1 assert expected == result
def populatePriceMoveList(klinelist): listOfMoves = list() priceMove = entities.PriceMove() for k in klinelist: if not priceMove.addKline( k ): #if addKline returns false its time to start a new PriceMove listOfMoves.append(priceMove) priceMove = entities.PriceMove() priceMove.addKline(k) return listOfMoves
def test_createBase(): priceMove1 = entities.PriceMove() priceMove2 = entities.PriceMove() priceMove1.addKline(kline3) priceMove1.addKline(kline4) #Now its a powerdrop priceMove2.addKline(kline5) priceMove2.addKline(kline6) priceMove2.addKline(kline7) #Now its a powerraise base = priceMove2.createBase(priceMove1) assert priceMove2.isPowerRaise() == True assert priceMove1.isPowerDrop() == True assert base != None
def test_NotSameDirection(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.klineIsSameDirection(kline3) expected = False assert expected == result
def test_PercentDiffNegative(): priceMove = entities.PriceMove() priceMove.addKline(kline3) priceMove.addKline(kline4) result = priceMove.percentDiff() expected = -12.82 assert expected == float(result)
def test_PercentDiff(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.percentDiff() expected = 11.43 assert expected == float(result)
def test_NegativeImpact(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.klineImpact(kline3) expected = -37.5 assert expected == float(result)
def test_durationHours(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.durationHours() expected = 2 assert expected == result
def test_PriceDiff(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.priceDiff() expected = 800 assert expected == result
def test_notPowerMove(): priceMove = entities.PriceMove() priceMove.addKline(kline5) priceMove.addKline(kline6) result = priceMove.isPowerMove() expected = False assert expected == result
def test_isPowerMove(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.isPowerMove() expected = True assert expected == result
def test_PriceDiffNegative(): priceMove = entities.PriceMove() priceMove.addKline(kline3) priceMove.addKline(kline4) result = priceMove.priceDiff() expected = -1000 assert expected == result
def test_overloadedPlusOperator(): priceMove1 = entities.PriceMove() priceMove1.addKline(kline1) priceMove1.addKline(kline2) priceMove2 = entities.PriceMove() priceMove2.addKline(kline3) priceMove2.addKline(kline4) combined = priceMove1 + priceMove2 result = combined.durationHours() expected = 4 # assert expected == result assert combined.startPrice() == 7000 assert combined.endPrice() == 6800 assert datetime.fromtimestamp(1527480000000 / 1000) == combined.startTime() assert datetime.fromtimestamp(1527494399999 / 1000) == combined.endTime() assert combined.lowPrice() == 6700 assert combined.highPrice() == 7800
def test_durationSecs(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) result = priceMove.durationSecs() # expected = datetime.timedelta(hours=1, minutes=59, seconds=59, milliseconds=999) #when returning datetime.timedelta expected = 60 * 60 * 2 # 2 hours assert expected == result
def test_PriceDiffSeveral(): priceMove = entities.PriceMove() priceMove.addKline(kline1) priceMove.addKline(kline2) priceMove.addKline(kline3) # priceMove.addKline(kline4) result = priceMove.priceDiff() expected = 800 # third kline is not added since its going in opposite direction assert expected == result
def createBases(klinelist): listOfBases = list() priceMove = entities.PriceMove() lastPowerMove = None for k in klinelist: if not priceMove.addKline( k ): #if addKline returns false its time to start a new PriceMove if priceMove.isPowerMove(): print('POWERMOVE') if lastPowerMove != None: print('NOT None') base = priceMove.createBase(lastPowerMove) if (base != None): listOfBases.append(base) lastPowerMove = priceMove priceMove = entities.PriceMove() priceMove.addKline(k) return listOfBases
def test_isPowerRaise(): priceMove1 = entities.PriceMove() priceMove1.addKline(kline5) priceMove1.addKline(kline6) priceMove1.addKline(kline7) #Now its a powerraise assert priceMove1.startPrice() == 6800.0 assert priceMove1.endPrice() == 8000.0 assert priceMove1.percentDiff() > 10 assert priceMove1.durationHours() < 5 assert priceMove1.isPowerRaise() == True
def test_NotFirstKline(): priceMove = entities.PriceMove() priceMove.addKline(kline1) result = priceMove.isFirstKline() expected = False assert expected == result
def test_IsFirstKline(): priceMove = entities.PriceMove() result = priceMove.isFirstKline() expected = True assert expected == result
def test_SameDirection(): priceMove = entities.PriceMove() priceMove.addKline(kline1) result = priceMove.klineIsSameDirection(kline2) expected = True assert expected == result
def test_Impact(): priceMove = entities.PriceMove() priceMove.addKline(kline1) result = priceMove.klineImpact(kline2) expected = 100 assert expected == result