def test_qop_lt_26(monty_find, mongo_find):
    code_0s = bson.Code("0", {})
    code_1s = bson.Code("1", {})
    docs = [{"a": code_0s}, {"a": code_1s}]
    spec = {"a": {"$lt": code_1s}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 1
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
    assert next(mongo_c) == next(monty_c)
def test_qop_lt_24(monty_find, mongo_find):
    code_0 = bson.Code("0")
    code_1 = bson.Code("1")
    docs = [{"a": code_0}, {"a": code_1}]
    spec = {"a": {"$lt": code_1}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 1
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
    assert next(mongo_c) == next(monty_c)
def test_qop_lt_27(monty_find, mongo_find):
    code_1as = bson.Code("1", {"a": 5})
    code_1bs = bson.Code("1", {"b": 5})
    code_1cs = bson.Code("1", {"c": 5})
    docs = [{"a": code_1as}, {"a": code_1bs}, {"a": code_1cs}]
    spec = {"a": {"$lt": code_1bs}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 1
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
    assert next(mongo_c) == next(monty_c)
def test_qop_gte_26(monty_find, mongo_find):
    code_0s = bson.Code("0", {})
    code_1s = bson.Code("1", {})
    docs = [{"a": code_0s}, {"a": code_1s}]
    spec = {"a": {"$gte": code_0s}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 2
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
    for i in range(2):
        assert next(mongo_c) == next(monty_c)
def test_qop_gte_25(monty_find, mongo_find):
    code_0 = bson.Code("0")
    code_1 = bson.Code("1")
    code_1s = bson.Code("1", {})
    docs = [{"a": code_1}, {"a": code_1s}]
    spec = {"a": {"$gte": code_0}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 1
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
    assert next(mongo_c) == next(monty_c)
def test_qop_ne_6(monty_find, mongo_find):
    docs = [
        {"a": [{"b": bson.Code("a")}]},
    ]
    spec = {"a.b": {"$ne": "a"}}

    monty_c = monty_find(docs, spec)
    mongo_c = mongo_find(docs, spec)

    assert count_documents(mongo_c, spec) == 1
    assert count_documents(monty_c, spec) == count_documents(mongo_c, spec)
Example #7
0
def test_weighted_22():
    data = bson.Code("a", {})
    assert Weighted(data) == (13, "a", ())
Example #8
0
def test_weighted_21():
    data = bson.Code("a")
    assert Weighted(data) == (12, "a", None)
Example #9
0
def test_sort_19(monty_sort, mongo_sort):
    docs = [
        {
            "a": ["x", True]
        },
        {
            "a": None
        },
        {
            "a": []
        },
        {
            "a": [5, []]
        },
        {
            "a": {
                "s": 7
            }
        },
        {
            "a": {
                "s": [9]
            }
        },
        {
            "a": {
                "s": 10
            }
        },
        {
            "a": 6
        },
        {
            "a": 4
        },
        {
            "a": [5, None]
        },
        {
            "a": [5, [1]]
        },
        {
            "a": [bson.Decimal128("4.5"),
                  bson.Binary(b"0")]
        },
        {
            "a": [{
                "s": 5
            }, False]
        },
        {
            "a": [{
                "s": 9
            }]
        },
        {
            "a": [True, "y"]
        },
        {
            "a": bson.Binary(b"a")
        },
        {
            "a": b"bytes"
        },
        {
            "a": ["abc"]
        },
        {
            "a": "banana"
        },
        {
            "a": "appple"
        },
        {
            "a": [bson.Regex("^a", "ix")]
        },
        {
            "a": bson.Regex("^b")
        },
        {
            "a": bson.Code("x", {"m": 0})
        },
        {
            "a": bson.Code("y")
        },
        {
            "a": bson.Code("y", {})
        },
        {
            "a": bson.Code("y", {"m": 0})
        },
        {
            "a": bson.MinKey()
        },
        {
            "a": bson.MaxKey()
        },
        {
            "a": bson.Timestamp(0, 1)
        },
        {
            "a": bson.Timestamp(1, 1)
        },
        {
            "a": bson.ObjectId(b"000000000000")
        },
        {
            "a": bson.ObjectId(b"000000000001")
        },
        {
            "a": datetime(1900, 1, 1)
        },
        {
            "a": datetime(1900, 1, 2)
        },
    ]
    sort = [("_id", 1), ("a", 1)]

    monty_c = monty_sort(docs, sort)
    mongo_c = mongo_sort(docs, sort)

    for i in range(len(docs)):
        assert next(mongo_c)["_id"] == next(monty_c)["_id"]
Example #10
0
def test_sort_7(monty_sort, mongo_sort):
    docs = [
        {
            "a": bson.Code("x")
        },
        {
            "a": bson.Code("x", {})
        },
        {
            "a": bson.Code("x", {"m": 0})
        },
        {
            "a": bson.Code("x", {"m": 1})
        },
        {
            "a": bson.Code("x", {"n": 0})
        },
        {
            "a": bson.Code("x", {"n": 1})
        },
        {
            "a": bson.Code("y")
        },
        {
            "a": bson.Code("y", {})
        },
        {
            "a": bson.Code("y", {"m": 0})
        },
        {
            "a": bson.Code("y", {"m": 1})
        },
        {
            "a": bson.Code("y", {"n": 0})
        },
        {
            "a": bson.Code("y", {"n": 1})
        },
    ]
    sort = [("a", -1)]

    monty_c = monty_sort(docs, sort)
    mongo_c = mongo_sort(docs, sort)

    for i in range(len(docs)):
        assert next(mongo_c)["_id"] == next(monty_c)["_id"]