def test_number_of_validations_for_set_cache(): p = Parameter('p', set_cmd=None, vals=BookkeepingValidator()) assert p.vals.values_validated == [] p.cache.set(1) assert p.vals.values_validated == [1] p.cache.set(4) assert p.vals.values_validated == [1, 4] p.step = 1 p.cache.set(10) assert p.vals.values_validated == [1, 4, 10]
def test_number_of_validations(self): p = Parameter('p', set_cmd=None, initial_value=0, vals=BookkeepingValidator()) self.assertEqual(p.vals.values_validated, [0]) p.step = 1 p.set(10) self.assertEqual(p.vals.values_validated, [0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9])
def test_number_of_validations(self): p = Parameter('p', set_cmd=None, initial_value=0, vals=BookkeepingValidator()) # in the set wrapper the final value is validated # and then subsequently each step is validated. # in this case there is one step so the final value # is validated twice. self.assertEqual(p.vals.values_validated, [0, 0]) p.step = 1 p.set(10) self.assertEqual(p.vals.values_validated, [0, 0, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
def test_ramp_scaled(self, scale, value): p = Parameter('p', set_cmd=self.set_p, get_cmd=self.get_p, scale=scale, initial_value=0) assert p() == 0.0 # first set a step size p.step = 0.1 # and a wait time p.inter_delay = 1e-9 # in seconds expected_output = np.linspace(0.1, 10, 100) np.testing.assert_allclose(p.get_ramp_values(10, p.step), expected_output) p.set(value) np.testing.assert_allclose(p.get(), value) assert p.raw_value == value * scale