File: test_util_ranking.py

package info (click to toggle)
fava 1.30.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 7,856 kB
  • sloc: javascript: 45,789; python: 11,087; makefile: 112; sh: 25
file content (36 lines) | stat: -rw-r--r-- 1,111 bytes parent folder | download
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"]