From 9d8c9d0a4719ebe6a8b7ceed24e0be41eaf357a4 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Thu, 30 Mar 2023 16:34:31 +0200
Subject: [PATCH] TST: add tests for server issues #143 & #144

---
 tests/test_issues_server.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py
index b0380fb..794ce8c 100644
--- a/tests/test_issues_server.py
+++ b/tests/test_issues_server.py
@@ -1176,3 +1176,29 @@ def test_192():
     assert count6 == 1
     assert count7 == 1
     assert count8 == 1
+
+
+@pytest.mark.xfail(reason="fix needed")
+@pytest.mark.parametrize("num", ["1e+23", "5e22", "2e-323"])
+def test_143(num):
+    """https://gitlab.com/caosdb/caosdb-server/-/issues/144"""
+    db.Property(name="scientific_notation", datatype=db.DOUBLE).insert()
+    db.RecordType(name="RT1").add_property("scientific_notation", value=num).insert()
+
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation={num}", unique=True)
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation='{num}'", unique=True)
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation=\"{num}\"", unique=True)
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation = {num}", unique=True)
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation = '{num}'", unique=True)
+    db.execute_query(f"FIND RECORDTYPE RT1 WITH scientific_notation = \"{num}\"", unique=True)
+
+
+def test_144():
+    """https://gitlab.com/caosdb/caosdb-server/-/issues/144"""
+    db.Property(name="scientific_notation", datatype=db.DOUBLE, value="1e23").insert()
+
+    value = db.execute_query("FIND PROPERTY scientific_notation", unique=True).value
+    assert str(value) == "1e+23"
+    assert isinstance(value, float)
+    assert value == 1e23
+    assert value == 1e+23
-- 
GitLab