def test_get_methods_of_factories(): """Tests the get methods of a factory""" x_values = [0, 0, 1] y_values = [-1, 1, 0] fac = LinearFactory(x_values) fac._instack = [ { "scale_factor": 0 }, { "scale_factor": 0 }, { "scale_factor": 1 }, ] fac._outstack = y_values zne_reduce = fac.reduce() assert np.allclose(fac.get_expectation_values(), y_values) assert np.allclose(fac.get_extrapolation_curve()(0.0), zne_reduce) assert np.allclose(fac.get_optimal_parameters(), [0.0, 0.0]) assert np.allclose(fac.get_parameters_covariance(), [[3.0, -1.0], [-1.0, 1.0]]) assert np.allclose(fac.get_scale_factors(), x_values) assert np.allclose(fac.get_zero_noise_limit(), zne_reduce) assert np.allclose(fac.get_zero_noise_limit_error(), 1.0)
def test_equal_simple(): fac = LinearFactory(scale_factors=[1, 2, 3]) assert fac != 1 copied_fac = copy(fac) assert copied_fac == fac copied_fac._already_reduced = True assert copied_fac != fac fac._instack = [{"scale_factor": 1, "shots": 100}] copied_fac = deepcopy(fac) assert copied_fac == fac copied_fac._instack[0].update({"shots": 101}) assert copied_fac != fac