File: test_utils.py

package info (click to toggle)
pytorch-cuda 2.6.0%2Bdfsg-7
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 161,620 kB
  • sloc: python: 1,278,832; cpp: 900,322; ansic: 82,710; asm: 7,754; java: 3,363; sh: 2,811; javascript: 2,443; makefile: 597; ruby: 195; xml: 84; objc: 68
file content (58 lines) | stat: -rw-r--r-- 1,598 bytes parent folder | download | duplicates (3)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from __future__ import annotations

import sys
import unittest
from pathlib import Path
from typing import Any


REPO_ROOT = Path(__file__).resolve().parent.parent.parent.parent
sys.path.append(str(REPO_ROOT))

import tools.testing.target_determination.heuristics.utils as utils
from tools.testing.test_run import TestRun


sys.path.remove(str(REPO_ROOT))


class TestHeuristicsUtils(unittest.TestCase):
    def assertDictAlmostEqual(
        self, first: dict[TestRun, Any], second: dict[TestRun, Any]
    ) -> None:
        self.assertEqual(first.keys(), second.keys())
        for key in first.keys():
            self.assertAlmostEqual(first[key], second[key])

    def test_normalize_ratings(self) -> None:
        ratings: dict[TestRun, float] = {
            TestRun("test1"): 1,
            TestRun("test2"): 2,
            TestRun("test3"): 4,
        }
        normalized = utils.normalize_ratings(ratings, 4)
        self.assertDictAlmostEqual(normalized, ratings)

        normalized = utils.normalize_ratings(ratings, 0.1)
        self.assertDictAlmostEqual(
            normalized,
            {
                TestRun("test1"): 0.025,
                TestRun("test2"): 0.05,
                TestRun("test3"): 0.1,
            },
        )

        normalized = utils.normalize_ratings(ratings, 0.2, min_value=0.1)
        self.assertDictAlmostEqual(
            normalized,
            {
                TestRun("test1"): 0.125,
                TestRun("test2"): 0.15,
                TestRun("test3"): 0.2,
            },
        )


if __name__ == "__main__":
    unittest.main()