def test_discrimination_fidelity(self): # Test the correct file is loaded self.assertEqual( self.a_discr.folder, os.path.join(self.datadir, '20161214', '120000_dummy_Butterfly')) mu_a = self.a_discr.mu_a mu_b = self.a_discr.mu_b # Test if the fit gives the expected means self.assertAlmostEqual(mu_a.real, -6719.6, places=1) self.assertAlmostEqual(mu_a.imag, 20024.2, places=1) self.assertAlmostEqual(mu_b.real, 1949.4, places=1) self.assertAlmostEqual(mu_b.imag, 37633.0, places=1) # Test identifying the rotation vector self.assertAlmostEqual(self.a_discr.theta % 180, 63.8, places=1) self.assertAlmostEqual(self.a_discr.theta % 180, np.angle(self.a_discr.mu_b-self.a_discr.mu_a, deg=True), places=1) diff_v_r = rotate_complex((mu_b-mu_a), -self.a_discr.theta) self.assertAlmostEqual(diff_v_r.imag, 0) self.assertAlmostEqual(self.a_discr.opt_I_threshold, np.mean([mu_a.real, mu_b.real]), places=1) self.assertAlmostEqual(self.a_discr.F_discr, 0.954, places=3) self.assertAlmostEqual(self.a_discr.F_discr_I, 0.5427, places=3)
def test_discrimination_fidelity(self): # Test the correct file is loaded a = ma.SSRO_discrimination_analysis(label='dummy_Butterfly', plot_2D_histograms=False) self.assertEqual( a.folder, os.path.join(self.datadir, '20161214', '120000_dummy_Butterfly')) mu_a = a.mu_a mu_b = a.mu_b # Test if the fit gives the expected means self.assertAlmostEqual(mu_a.real, -6719.6, places=1) self.assertAlmostEqual(mu_a.imag, 20024.2, places=1) self.assertAlmostEqual(mu_b.real, 1949.4, places=1) self.assertAlmostEqual(mu_b.imag, 37633.0, places=1) # Test identifying the rotation vector self.assertAlmostEqual(a.theta % 180, 63.8, places=1) self.assertAlmostEqual(a.theta % 180, np.angle(a.mu_b - a.mu_a, deg=True), places=1) diff_v_r = rotate_complex((mu_b - mu_a), -a.theta) self.assertAlmostEqual(diff_v_r.imag, 0) self.assertAlmostEqual(a.opt_I_threshold, np.mean([mu_a.real, mu_b.real]), places=1) self.assertAlmostEqual(a.F_discr, 0.954, places=3) self.assertAlmostEqual(a.F_discr_I, 0.5427, places=3)
def test_rotate_complex_number(self): self.assertAlmostEqual(1j, rotate_complex(1, 90, deg=True)) real_vec = np.ones(10) np.testing.assert_almost_equal(1j * real_vec, rotate_complex(real_vec, 90, deg=True))
def test_rotate_complex_number(self): self.assertAlmostEqual(1j, rotate_complex(1, 90, deg=True)) real_vec = np.ones(10) np.testing.assert_almost_equal(1j*real_vec, rotate_complex(real_vec, 90, deg=True))