From 78d85f5acb1eee5a680262052f1e0a4e1c3f9a1b Mon Sep 17 00:00:00 2001
From: Jan Petermann <jpeterma@physnet.uni-hamburg.de>
Date: Wed, 11 Dec 2019 11:53:09 +0100
Subject: [PATCH] test_from_lin done

---
 .../test_conversion/tests_db/test_from_lin.py | 34 +++++++++++++++++++
 .../test_conversion/tests_db/test_to_lin.py   |  2 +-
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 src/tests/test_conversion/tests_db/test_from_lin.py

diff --git a/src/tests/test_conversion/tests_db/test_from_lin.py b/src/tests/test_conversion/tests_db/test_from_lin.py
new file mode 100644
index 0000000..d0ae110
--- /dev/null
+++ b/src/tests/test_conversion/tests_db/test_from_lin.py
@@ -0,0 +1,34 @@
+import unittest
+
+import numpy as np
+import pandas as pd
+
+from openqlab.conversion.db import from_lin
+
+
+class TestFromLin(unittest.TestCase):
+    def test_positive_integer(self):
+        self.assertEqual(from_lin(10), 10)
+        self.assertEqual(from_lin(100000), 50)
+        self.assertAlmostEqual(from_lin(1.9952623), 3)
+
+    def test_negative_integer(self):
+        self.assertEqual(from_lin(0.1), -10)
+        self.assertEqual(from_lin(1e-5), -50)
+        self.assertAlmostEqual(from_lin(0.5011872336272722), -3)
+
+    def test_positive_float(self):
+        self.assertAlmostEqual(from_lin(2.23872113), 3.5)
+
+    def test_negative_float(self):
+        self.assertAlmostEqual(from_lin(0.446683592), -3.5)
+
+    def test_dataframe(self):
+        df = pd.DataFrame([10, 0.1, 1e5])
+        expected_df = pd.DataFrame([10, -10, 50], dtype="float64")
+        pd.testing.assert_frame_equal(from_lin(df), expected_df)
+
+    def test_numpy_array(self):
+        a = np.array([10, 0.1, 1e5])
+        expected_array = np.array([10, -10, 50])
+        np.testing.assert_array_equal(from_lin(a), expected_array)
diff --git a/src/tests/test_conversion/tests_db/test_to_lin.py b/src/tests/test_conversion/tests_db/test_to_lin.py
index 37d83ef..2ec1a2f 100644
--- a/src/tests/test_conversion/tests_db/test_to_lin.py
+++ b/src/tests/test_conversion/tests_db/test_to_lin.py
@@ -15,7 +15,7 @@ class TestToLin(unittest.TestCase):
     def test_negative_integer(self):
         self.assertEqual(to_lin(-10), 0.1)
         self.assertEqual(to_lin(-50), 1e-5)
-        self.assertAlmostEqual(to_lin(-3), 0.5011872)
+        self.assertAlmostEqual(to_lin(-3), 0.5011872336272722)
 
     def test_positive_float(self):
         self.assertAlmostEqual(to_lin(3.5), 2.23872113)
-- 
GitLab