Update evaluator
This commit is contained in:
23
tests/test_evaluator.py
Normal file
23
tests/test_evaluator.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
from scgenerator.evaluator import Evaluator, Rule
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def disk_rules() -> list[Rule]:
|
||||
return [
|
||||
Rule("radius", lambda diameter: diameter / 2),
|
||||
Rule("diameter", lambda radius: radius * 2),
|
||||
Rule("diameter", lambda perimeter: perimeter / np.pi),
|
||||
Rule("perimeter", lambda diameter: diameter * np.pi),
|
||||
Rule("area", lambda radius: np.pi * radius**2),
|
||||
Rule("radius", lambda area: np.sqrt(area / np.pi)),
|
||||
]
|
||||
|
||||
|
||||
def test_simple(disk_rules: list[Rule]):
|
||||
evaluator = Evaluator(*disk_rules, Rule("radius", lambda lol: lol * 3))
|
||||
evaluator.set()
|
||||
|
||||
assert evaluator.compute("area") == pytest.approx(78.53981633974483)
|
||||
Reference in New Issue
Block a user