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.")); }