mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-03-13 19:32:47 +01:00
All checks were successful
Build and Deploy on local RHEL9 / build (push) Successful in 2m3s
Build on RHEL9 docker image / build (push) Successful in 3m58s
Build and Deploy on local RHEL8 / build (push) Successful in 5m0s
Build on RHEL8 docker image / build (push) Successful in 5m7s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m40s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m4s
* implemented + and += for RegisterAddres and tests plus test cleanup
60 lines
1.3 KiB
Python
60 lines
1.3 KiB
Python
from slsdet.bits import clearbit, clearbit_arr, setbit, setbit_arr
|
|
from slsdet import RegisterAddress
|
|
import numpy as np
|
|
|
|
|
|
def test_clearbit_on_python_int():
|
|
val = 5 # 0b101
|
|
r = clearbit(0, val)
|
|
assert r == 4
|
|
assert val == 5
|
|
|
|
def test_setbit_on_python_int():
|
|
val = 5 # 0b101
|
|
r = setbit(1, val)
|
|
assert r == 7
|
|
assert val == 5
|
|
|
|
|
|
def test_setbit_doesnt_change_type():
|
|
word = np.int32(5)
|
|
ret = setbit(0, word)
|
|
assert isinstance(ret, np.int32)
|
|
|
|
|
|
def test_clearbit_doesnt_change_type():
|
|
word = np.uint8(5)
|
|
ret = clearbit(0, word)
|
|
assert isinstance(ret, np.uint8)
|
|
|
|
|
|
|
|
def test_setbit_on_array_element():
|
|
arr = np.zeros(10, dtype=np.uint64)
|
|
arr[5] = setbit(0, arr[5])
|
|
arr[5] = setbit(1, arr[5])
|
|
arr[5] = setbit(4, arr[5])
|
|
assert arr[4] == 0
|
|
assert arr[5] == 19 # 0b10011
|
|
assert arr[6] == 0
|
|
|
|
|
|
def test_setbit_arr():
|
|
arr = np.zeros(10, dtype=np.int32)
|
|
setbit_arr(3, arr[3:9])
|
|
assert all(arr == np.array((0, 0, 0, 8, 8, 8, 8, 8, 8, 0), dtype=np.int32))
|
|
|
|
|
|
def test_clearbit_arr():
|
|
arr = np.array((5, 5, 5), dtype=np.int8)
|
|
clearbit_arr(0, arr)
|
|
assert all(arr == (4, 4, 4))
|
|
|
|
def test_RegisterAddress_addition():
|
|
r = RegisterAddress(0x10)
|
|
r2 = r + 0x5
|
|
assert r2.value() == 0x15
|
|
r3 = 0x5 + r
|
|
assert r3.value() == 0x15
|
|
r += 0x5
|
|
assert r.value() == 0x15 |