Or() public static method

Tests that at least one of the subqueries is true (see $or).
public static Or ( ) : QueryComplete
return QueryComplete
        public void TestOrWithEmptyQuery()
        {
            var emptyQuery = new QueryDocument();

            var query    = Query.Or(emptyQuery);
            var expected = "{ }";

            Assert.AreEqual(expected, query.ToJson());

            query    = Query.Or(emptyQuery, emptyQuery);
            expected = "{ }";
            Assert.AreEqual(expected, query.ToJson());

            query    = Query.Or(emptyQuery, Query.EQ("x", 1));
            expected = "{ \"x\" : 1 }";
            Assert.AreEqual(expected, query.ToJson());

            query    = Query.Or(Query.EQ("x", 1), emptyQuery);
            expected = "{ \"x\" : 1 }";
            Assert.AreEqual(expected, query.ToJson());

            query    = Query.Or(emptyQuery, Query.EQ("x", 1), emptyQuery);
            expected = "{ \"x\" : 1 }";
            Assert.AreEqual(expected, query.ToJson());

            query    = Query.Or(Query.EQ("x", 1), emptyQuery, Query.EQ("y", 2));
            expected = "{ \"$or\" : [{ \"x\" : 1 }, { \"y\" : 2 }] }";
            Assert.AreEqual(expected, query.ToJson());
        }
        public void TestOr()
        {
            var query = Query.Or(
                Query.EQ("a", 1),
                Query.EQ("b", 2)
                );
            var expected = "{ \"$or\" : [{ \"a\" : 1 }, { \"b\" : 2 }] }";

            Assert.AreEqual(expected, query.ToJson());
        }
        public void TestOrNullSecond()
        {
            var ex = Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                Query.Or(
                    Query.EQ("x", 1),
                    Query.Null
                    );
            });

            Assert.IsTrue(ex.Message.StartsWith("One of the queries is null."));
        }
        public void TestNestedOr()
        {
            var query = Query.And(
                Query.EQ("name", "bob"),
                Query.Or(
                    Query.EQ("a", 1),
                    Query.EQ("b", 2)
                    )
                );
            var expected = "{ \"name\" : \"bob\", \"$or\" : [{ \"a\" : 1 }, { \"b\" : 2 }] }";

            Assert.AreEqual(expected, query.ToJson());
        }
        public void TestOrNoArgs()
        {
            var ex = Assert.Throws <ArgumentOutOfRangeException>(() => { Query.Or(); });

            Assert.IsTrue(ex.Message.StartsWith("Query.Or cannot be called with zero queries."));
        }