From 7ba892051bd5275364c93c65d498b5f09cba3c90 Mon Sep 17 00:00:00 2001
From: Jan Petermann <jpeterma@physnet.uni-hamburg.de>
Date: Thu, 12 Dec 2019 19:20:14 +0100
Subject: [PATCH] move gaussian beam tests and refactor

---
 .../test_gaussian_beam/data}/data.txt         |  0
 .../test_gaussian_beam/test_fit_beam_data.py  | 33 +----------------
 .../test_gaussian_beam/test_gaussian_beam.py  | 36 +++++++++++++++++++
 3 files changed, 37 insertions(+), 32 deletions(-)
 rename src/tests/{test_gaussian_beam => test_analysis/test_gaussian_beam/data}/data.txt (100%)
 rename src/tests/{ => test_analysis}/test_gaussian_beam/test_fit_beam_data.py (64%)
 create mode 100644 src/tests/test_analysis/test_gaussian_beam/test_gaussian_beam.py

diff --git a/src/tests/test_gaussian_beam/data.txt b/src/tests/test_analysis/test_gaussian_beam/data/data.txt
similarity index 100%
rename from src/tests/test_gaussian_beam/data.txt
rename to src/tests/test_analysis/test_gaussian_beam/data/data.txt
diff --git a/src/tests/test_gaussian_beam/test_fit_beam_data.py b/src/tests/test_analysis/test_gaussian_beam/test_fit_beam_data.py
similarity index 64%
rename from src/tests/test_gaussian_beam/test_fit_beam_data.py
rename to src/tests/test_analysis/test_gaussian_beam/test_fit_beam_data.py
index 9e0bd50..2d93d22 100644
--- a/src/tests/test_gaussian_beam/test_fit_beam_data.py
+++ b/src/tests/test_analysis/test_gaussian_beam/test_fit_beam_data.py
@@ -11,7 +11,7 @@ filedir = Path(__file__).parent
 
 class TestFitBeamData(TestCase):
     def setUp(self):
-        self.data = io.read(f"{filedir}/data.txt")
+        self.data = io.read(filedir / "data/data.txt")
         self.data.index *= 1e-2
         self.data *= 0.5e-6
 
@@ -48,34 +48,3 @@ class TestFitBeamData(TestCase):
         self.assertAlmostEqual(
             errors["major"][1], 0.006396576345439704, places=5
         )  # 0.00642
-
-
-class TestGaussianBeam(TestCase):
-    def test_non_default_lambda(self):
-        beam = GaussianBeam(wavelength=1550e-9)
-        self.assertEqual(beam.wavelength, 1550e-9)
-        self.assertEqual(beam.propagate(1).wavelength, 1550e-9)
-
-    def test_R_property(self):
-        beam = GaussianBeam(q=3 + 1j)
-        self.assertAlmostEqual(beam.R, 10 / 3)
-
-    def test_R_property_infty(self):
-        beam = GaussianBeam(q=0 + 1j)
-        self.assertAlmostEqual(beam.R, np.infty)
-
-    def test_waist(self):
-        beam = GaussianBeam.from_waist(1e-3, 0)
-        self.assertEqual(beam.w, 1e-3)
-
-    def test_position(self):
-        beam = GaussianBeam.from_waist(1e-3, 0)
-        self.assertEqual(beam.z0, 0)
-
-    def test_negative_wavelength_raises_error(self):
-        with self.assertRaises(ValueError):
-            beam = GaussianBeam(wavelength=-1e-9)
-
-    def test_divergence(self):
-        beam = GaussianBeam()
-        self.assertAlmostEqual(beam.divergence, 582e-6)
diff --git a/src/tests/test_analysis/test_gaussian_beam/test_gaussian_beam.py b/src/tests/test_analysis/test_gaussian_beam/test_gaussian_beam.py
new file mode 100644
index 0000000..355260f
--- /dev/null
+++ b/src/tests/test_analysis/test_gaussian_beam/test_gaussian_beam.py
@@ -0,0 +1,36 @@
+from unittest import TestCase
+
+import numpy as np
+
+from openqlab.analysis.gaussian_beam import GaussianBeam
+
+
+class TestGaussianBeam(TestCase):
+    def test_non_default_lambda(self):
+        beam = GaussianBeam(wavelength=1550e-9)
+        self.assertEqual(beam.wavelength, 1550e-9)
+        self.assertEqual(beam.propagate(1).wavelength, 1550e-9)
+
+    def test_R_property(self):
+        beam = GaussianBeam(q=3 + 1j)
+        self.assertAlmostEqual(beam.R, 10 / 3)
+
+    def test_R_property_infty(self):
+        beam = GaussianBeam(q=0 + 1j)
+        self.assertAlmostEqual(beam.R, np.infty)
+
+    def test_waist(self):
+        beam = GaussianBeam.from_waist(1e-3, 0)
+        self.assertEqual(beam.w, 1e-3)
+
+    def test_position(self):
+        beam = GaussianBeam.from_waist(1e-3, 0)
+        self.assertEqual(beam.z0, 0)
+
+    def test_negative_wavelength_raises_error(self):
+        with self.assertRaises(ValueError):
+            beam = GaussianBeam(wavelength=-1e-9)
+
+    def test_divergence(self):
+        beam = GaussianBeam()
+        self.assertAlmostEqual(beam.divergence, 582e-6)
-- 
GitLab