-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathtest_quantity.py
61 lines (42 loc) · 1.14 KB
/
test_quantity.py
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
59
60
61
"""
testing module for Quantity class
"""
from c3.c3objs import Quantity
gate_time = Quantity(
value=5.3246e-9,
min=2e-9,
max=10e-9,
unit="s",
symbol=r"t_g"
)
matrix = Quantity(
value=[[0, 1], [1, 0]],
min=[[0, 0], [0, 0]],
max=[[1, 1], [1, 1]],
unit="",
symbol=r"M"
)
def test_qty_str() -> None:
assert str(gate_time) == "5.325 ns "
def test_qty_set() -> None:
gate_time.set_value(7e-9)
assert gate_time.get_value() == 7e-9
def test_qty_max() -> None:
gate_time.set_opt_value(1.0)
assert gate_time.get_value() == 10e-9
def test_qty_min() -> None:
gate_time.set_opt_value(-1.0)
assert gate_time.get_value() == 2e-9
def test_qty_get_opt() -> None:
gate_time.set_value(6e-9)
assert gate_time.get_opt_value() < 1e-15
def test_qty_matrix_str() -> None:
assert str(matrix) == '0.000 1.000 1.000 0.000 '
def test_qty_matrix_set() -> None:
matrix.set_value(
[[1.0, 0.0],
[0.0, 1.0]]
)
assert (matrix.numpy() == [[1, 0], [0, 1]]).all()
def test_qty_matrix_set_opt() -> None:
assert (matrix.get_opt_value() == [1., -1., -1., 1.]).all()