def test_repetetive_parameter_setting(self): """Test alternate setting of parameters and circuit construction.""" x = Parameter('x') circuit = QuantumCircuit(1) circuit.rx(x, 0) nlocal = NLocal(1, entanglement_blocks=circuit, reps=3, insert_barriers=True) with self.subTest(msg='immediately after initialization'): self.assertEqual(len(nlocal.parameters), 3) with self.subTest(msg='after circuit construction'): self.assertEqual(len(nlocal.parameters), 3) q = Parameter('q') nlocal.assign_parameters([x, q, q], inplace=True) with self.subTest(msg='setting parameter to Parameter objects'): self.assertEqual(nlocal.parameters, set({x, q})) nlocal.assign_parameters([0, -1], inplace=True) with self.subTest(msg='setting parameter to numbers'): self.assertEqual(nlocal.parameters, set())
def test_reps_setter_when_negative(self): """Test to check if setter raises error for reps <=0""" nlocal = NLocal(reps=1) with self.assertRaises(ValueError): nlocal.reps = -1
def test_if_reps_is_zero(self): """Test to check if error is raised for 0 or negative value of reps""" with self.assertRaises(ValueError): _ = NLocal(reps=-1)
def test_if_reps_is_npint64(self): """Equality test for reps with int value and np.int64 value""" self.assertEqual(NLocal(reps=3), NLocal(reps=np.int64(3)))
def test_if_reps_is_float(self): """Test to check if proper error is raised for float value of reps""" with self.assertRaises(TypeError): _ = NLocal(reps=5.6)
def test_if_reps_is_str(self): """Test to check if proper error is raised for str value of reps""" with self.assertRaises(TypeError): _ = NLocal(reps="3")