diff --git a/tests/test_datetime.py b/tests/test_datetime.py index 815db5181d1b8bba97af3d18326c478a346789e9..cda35a1f013833744f314fda6a5bd87547cda5b9 100644 --- a/tests/test_datetime.py +++ b/tests/test_datetime.py @@ -1418,3 +1418,510 @@ def test_greater_operator(): h.execute_query("FIND Simple*").delete() except BaseException: pass + + +def test_greater_equal_operator(): + try: + rec = set_up_rec() + # query with > Date YYYY-MM-ddThh:mm:ss + d = "2015-05-05T20:15:30" + assert_true(query_assertion(rec, d, ">=", d)) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05")) + assert_true(query_assertion(rec, d, ">=", "2015-05")) + assert_true(query_assertion(rec, d, ">=", "2015")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.122")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.124")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:29.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:29")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:15:31.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:15:31")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05")) + assert_true(query_assertion(rec, d, ">=", "2015-04")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05")) + assert_false(query_assertion(rec, d, ">=", "2015-06")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05")) + assert_true(query_assertion(rec, d, ">=", "2014-05")) + assert_true(query_assertion(rec, d, ">=", "2014")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05")) + assert_false(query_assertion(rec, d, ">=", "2016-05")) + assert_false(query_assertion(rec, d, ">=", "2016")) + + # Date YYYY-MM-ddThh:mm:ss.ns + d = "2015-05-05T20:15:30.123" + assert_true(query_assertion(rec, d, ">=", d)) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05")) + assert_true(query_assertion(rec, d, ">=", "2015-05")) + assert_true(query_assertion(rec, d, ">=", "2015")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.122")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.124")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:29.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:29")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:15:31.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:15:31")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:14")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T20:16")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T19")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21:15")) + assert_false(query_assertion(rec, d, ">=", "2015-05-05T21")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05")) + assert_true(query_assertion(rec, d, ">=", "2015-04")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05")) + assert_false(query_assertion(rec, d, ">=", "2015-06")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05")) + assert_true(query_assertion(rec, d, ">=", "2014-05")) + assert_true(query_assertion(rec, d, ">=", "2014")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05")) + assert_false(query_assertion(rec, d, ">=", "2016-05")) + assert_false(query_assertion(rec, d, ">=", "2016")) + + # Date YYYY-MM-dd + d = "2015-05-05" + assert_true(query_assertion(rec, d, ">=", d)) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05")) + assert_true(query_assertion(rec, d, ">=", "2015-05")) + assert_true(query_assertion(rec, d, ">=", "2015")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06T20")) + assert_false(query_assertion(rec, d, ">=", "2015-05-06")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-04")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05")) + assert_false(query_assertion(rec, d, ">=", "2015-06")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05")) + assert_true(query_assertion(rec, d, ">=", "2015-04")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05")) + assert_false(query_assertion(rec, d, ">=", "2016-05")) + assert_false(query_assertion(rec, d, ">=", "2016")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05")) + assert_true(query_assertion(rec, d, ">=", "2014-05")) + assert_true(query_assertion(rec, d, ">=", "2014")) + + # Date YYYY-MM + d = "2015-05" + assert_true(query_assertion(rec, d, ">=", d)) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05")) + assert_true(query_assertion(rec, d, ">=", "2015-05")) + assert_true(query_assertion(rec, d, ">=", "2015")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05T20")) + assert_false(query_assertion(rec, d, ">=", "2015-06-05")) + assert_false(query_assertion(rec, d, ">=", "2015-06")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-04-05")) + assert_true(query_assertion(rec, d, ">=", "2015-04")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05")) + assert_false(query_assertion(rec, d, ">=", "2016-05")) + assert_false(query_assertion(rec, d, ">=", "2016")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05")) + assert_true(query_assertion(rec, d, ">=", "2014-05")) + assert_true(query_assertion(rec, d, ">=", "2014")) + + # Date YYYY + d = "2015" + assert_true(query_assertion(rec, d, ">=", d)) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2015-05-05")) + assert_true(query_assertion(rec, d, ">=", "2015-05")) + assert_true(query_assertion(rec, d, ">=", "2015")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15:30")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20:15")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05T20")) + assert_false(query_assertion(rec, d, ">=", "2016-05-05")) + assert_false(query_assertion(rec, d, ">=", "2016-05")) + assert_false(query_assertion(rec, d, ">=", "2016")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15:30")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20:15")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05T20")) + assert_true(query_assertion(rec, d, ">=", "2014-05-05")) + assert_true(query_assertion(rec, d, ">=", "2014-05")) + assert_true(query_assertion(rec, d, ">=", "2014")) + + finally: + try: + h.execute_query("FIND Simple*").delete() + except BaseException: + pass + + +def test_smaller_equal_operator(): + try: + rec = set_up_rec() + + # Date YYYY-MM-ddThh:mm:ss + d = "2015-05-05T20:15:30" + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.122")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.124")) + assert_true(query_assertion(rec, d, "<=", d)) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05")) + assert_true(query_assertion(rec, d, "<=", "2015-05")) + assert_true(query_assertion(rec, d, "<=", "2015")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:15:29.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:15:29")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:31.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:31")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05")) + assert_false(query_assertion(rec, d, "<=", "2015-04")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05")) + assert_true(query_assertion(rec, d, "<=", "2015-06")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05")) + assert_false(query_assertion(rec, d, "<=", "2014-05")) + assert_false(query_assertion(rec, d, "<=", "2014")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05")) + assert_true(query_assertion(rec, d, "<=", "2016-05")) + assert_true(query_assertion(rec, d, "<=", "2016")) + + # Date YYYY-MM-ddThh:mm:ss.ns + d = "2015-05-05T20:15:30.123" + assert_true(query_assertion(rec, d, "<=", d)) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05")) + assert_true(query_assertion(rec, d, "<=", "2015-05")) + assert_true(query_assertion(rec, d, "<=", "2015")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.122")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.124")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:15:29.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:15:29")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:31.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:31")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T20:14")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:16")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19:15")) + assert_false(query_assertion(rec, d, "<=", "2015-05-05T19")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T21")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05")) + assert_false(query_assertion(rec, d, "<=", "2015-04")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05")) + assert_true(query_assertion(rec, d, "<=", "2015-06")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05")) + assert_false(query_assertion(rec, d, "<=", "2014-05")) + assert_false(query_assertion(rec, d, "<=", "2014")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05")) + assert_true(query_assertion(rec, d, "<=", "2016-05")) + assert_true(query_assertion(rec, d, "<=", "2016")) + + # Date YYYY-MM-dd + d = "2015-05-05" + assert_true(query_assertion(rec, d, "<=", d)) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05")) + assert_true(query_assertion(rec, d, "<=", "2015-05")) + assert_true(query_assertion(rec, d, "<=", "2015")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04T20")) + assert_false(query_assertion(rec, d, "<=", "2015-05-04")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-06")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05")) + assert_false(query_assertion(rec, d, "<=", "2015-04")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05")) + assert_true(query_assertion(rec, d, "<=", "2015-06")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05")) + assert_false(query_assertion(rec, d, "<=", "2014-05")) + assert_false(query_assertion(rec, d, "<=", "2014")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05")) + assert_true(query_assertion(rec, d, "<=", "2016-05")) + assert_true(query_assertion(rec, d, "<=", "2016")) + + # Date YYYY-MM + d = "2015-05" + assert_true(query_assertion(rec, d, "<=", d)) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05")) + assert_true(query_assertion(rec, d, "<=", "2015-05")) + assert_true(query_assertion(rec, d, "<=", "2015")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05T20")) + assert_false(query_assertion(rec, d, "<=", "2015-04-05")) + assert_false(query_assertion(rec, d, "<=", "2015-04")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-06-05")) + assert_true(query_assertion(rec, d, "<=", "2015-06")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05")) + assert_false(query_assertion(rec, d, "<=", "2014-05")) + assert_false(query_assertion(rec, d, "<=", "2014")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05")) + assert_true(query_assertion(rec, d, "<=", "2016-05")) + assert_true(query_assertion(rec, d, "<=", "2016")) + + # Date YYYY + d = "2015" + assert_true(query_assertion(rec, d, "<=", d)) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2015-05-05")) + assert_true(query_assertion(rec, d, "<=", "2015-05")) + assert_true(query_assertion(rec, d, "<=", "2015")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30.123")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15:30")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20:15")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05T20")) + assert_false(query_assertion(rec, d, "<=", "2014-05-05")) + assert_false(query_assertion(rec, d, "<=", "2014-05")) + assert_false(query_assertion(rec, d, "<=", "2014")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30.123")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15:30")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20:15")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05T20")) + assert_true(query_assertion(rec, d, "<=", "2016-05-05")) + assert_true(query_assertion(rec, d, "<=", "2016-05")) + assert_true(query_assertion(rec, d, "<=", "2016")) + + finally: + try: + h.execute_query("FIND Simple*").delete() + except BaseException: + pass