1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
from __future__ import annotations
from datetime import date
from fava.util.ranking import ExponentialDecayRanker
def test_ranker() -> None:
list_ = ["1", "2", "3"]
ranker = ExponentialDecayRanker(list_)
ranker.update("1", date(2015, 1, 1))
ranker.update("2", date(2014, 1, 1))
ranker.update("3", date(2016, 1, 1))
assert ranker.sort() == ["3", "1", "2"]
list_ = ["1", "2"]
ranker = ExponentialDecayRanker(list_)
ranker.update("2", date(2016, 1, 1))
ranker.update("2", date(2016, 1, 1))
ranker.update("1", date(2016, 1, 1))
ranker.update("1", date(2016, 1, 2))
assert ranker.sort() == ["1", "2"]
list_ = ["1", "2"]
ranker = ExponentialDecayRanker(list_)
ranker.update("2", date(2015, 1, 1))
ranker.update("2", date(2015, 1, 1))
ranker.update("1", date(2016, 1, 1))
assert ranker.sort() == ["1", "2"]
list_ = ["1", "2"]
ranker = ExponentialDecayRanker(list_)
ranker.update("2", date(2015, 1, 1))
ranker.update("2", date(2015, 1, 2))
ranker.update("1", date(2016, 1, 1))
assert ranker.sort() == ["2", "1"]
|