Source code for ewoksfluo.tests.test_scanshape

from ewoksfluo.math import scan_shape


[docs] def test_scan_shape(): nfast = 49 nslow = 53 npoints = [nfast * nslow, (nfast + 1) * nslow] equations = ["nfast * nslow", "(nfast + 1) * nslow"] solution = scan_shape.solve_scan_shape(npoints, equations) assert solution == {"nfast": nfast, "nslow": nslow}
[docs] def test_scan_shape_over_determined(): nfast = 49 nslow = 53 npoints = [nfast * nslow, (nfast + 1) * nslow, 2 * (nfast + 1) * nslow] equations = ["nfast * nslow", "(nfast + 1) * nslow", "2 * (nfast + 1) * nslow"] solution = scan_shape.solve_scan_shape(npoints, equations) assert solution == {"nfast": nfast, "nslow": nslow}
[docs] def test_scan_shape_under_determined(): nfast = 49 nslow = 53 npoints = [nfast * nslow] equations = ["nfast * nslow"] solution = scan_shape.solve_scan_shape(npoints, equations) assert solution is None
[docs] def test_solve_nnls_posint(): nfast = 49 nslow = 53 equations_dict = { "npoints1": "nfast * nslow", "npoints2": "(nfast + 1) * nslow", "npoints3": "2 * (nfast + 1) * nslow", "npoints4": "npoints1", } values_dict = { "npoints1": nfast * nslow, "npoints2": (nfast + 1) * nslow, "npoints3": 2 * (nfast + 1) * nslow, "npoints4": nfast * nslow, } solution = scan_shape.solve_nnls_posint(equations_dict, values_dict) assert solution == {"nfast": nfast, "nslow": nslow}