diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index b0380fbfbe66e3246be83a37455c5d70773f8c3a..794ce8ca3fd31e2aa1736be342eeca9dc5a30d86 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