public void TestFindAnddOr() { //Llenamos datos (new InsertModifyDeleteTest()).TestInsert(); ConfigManager.Out = Console.Out; var Countries = CountryCollection.Instance; var Persons = MongoMapperCollection<Person>.Instance; Countries.Find( Query.Or(MongoQuery<Country>.Eq(c=>c.Code, "ES"), Query<Country>.EQ(c=>c.Code, "UK"))); Assert.AreEqual(Countries.Count, 2); Persons.Find( Query.And(MongoQuery<Person>.Eq(p => p.Age, 25), MongoQuery<Person>.Eq(p => p.Country, "ES"))); Assert.AreEqual(Persons.Count, 2); Persons = new MongoMapperCollection<Person>(); Persons.Find( Query.And(MongoQuery<Person>.Eq(p => p.Age, 35), MongoQuery<Person>.Eq(p => p.Country, "%"))); Assert.AreEqual(1, Persons.Count); Persons = new MongoMapperCollection<Person>(); Persons.Find(MongoQuery<Person>.Eq(p => p.Name, "%perez%")); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery<Person>.Eq(p => p.Name, "j%")); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery<Person>.Eq(p => p.Name, "%Z")); Assert.AreEqual(3, Persons.Count); Persons.Find(MongoQuery<Person>.Eq(p => p.Married, false)); Assert.AreEqual(3, Persons.Count); Persons.Find(Query.And(MongoQuery<Person>.Eq(p => p.Age, 25), MongoQuery<Person>.Eq(p => p.Country, "ES"))); Assert.AreEqual(2, Persons.Count); foreach (Person p in Persons) { Assert.AreEqual(p.Age, 25); Assert.AreEqual(p.Country, "ES"); } Persons.Find(Query.And(MongoQuery<Person>.Eq(p => p.Age, 25), MongoQuery<Person>.Eq(p => p.Country, "US"))); Assert.AreEqual(0, Persons.Count); Persons.Find(MongoQuery<Person>.Gt(p => p.Age, 25)); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery<Person>.Gte(p => p.Age, 25)); Assert.AreEqual(4, Persons.Count); Persons.Find(MongoQuery<Person>.Lt(p => p.Age, 25)); Assert.AreEqual(1, Persons.Count); Persons.Find(MongoQuery<Person>.Lte(p => p.Age, 25)); Assert.AreEqual(3, Persons.Count); }
public void TestFindAnddOr() { var Countries = CountryCollection.Instance; var Persons = MongoMapperCollection <Person> .Instance; Countries.Find(MongoQuery <Country> .Eq(c => c.Code, BsonNull.Value)); //Llenamos datos (new InsertModifyDeleteTest()).TestInsert(); ConfigManager.Out = Console.Out; Countries.Find( Countries.Filter.Or(MongoQuery <Country> .Eq(c => c.Code, "ES"), MongoQuery <Country> .Eq(c => c.Code, "UK"))); Assert.AreEqual(Countries.Count, 2); Persons.Find( Persons.Filter.And(MongoQuery <Person> .Eq(p => p.Age, 25), MongoQuery <Person> .Eq(p => p.Country, "ES"))); Assert.AreEqual(Persons.Count, 2); Persons = new MongoMapperCollection <Person>(); Persons.Find( Persons.Filter.And(MongoQuery <Person> .Eq(p => p.Age, 35), MongoQuery <Person> .Eq(p => p.Country, "%"))); Assert.AreEqual(1, Persons.Count); Persons = new MongoMapperCollection <Person>(); Persons.Find(MongoQuery <Person> .Eq(p => p.Name, "%perez%")); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery <Person> .Eq(p => p.Name, "j%")); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery <Person> .Eq(p => p.Name, "%Z")); Assert.AreEqual(3, Persons.Count); Persons.Find(MongoQuery <Person> .Eq(p => p.Married, false)); Assert.AreEqual(3, Persons.Count); Persons.Find(Persons.Filter.And(MongoQuery <Person> .Eq(p => p.Age, 25), MongoQuery <Person> .Eq(p => p.Country, "ES"))); Assert.AreEqual(2, Persons.Count); foreach (Person p in Persons) { Assert.AreEqual(p.Age, 25); Assert.AreEqual(p.Country, "ES"); } Persons.Find(Persons.Filter.And(MongoQuery <Person> .Eq(p => p.Age, 25), MongoQuery <Person> .Eq(p => p.Country, "US"))); Assert.AreEqual(0, Persons.Count); Persons.Find(MongoQuery <Person> .Gt(p => p.Age, 25)); Assert.AreEqual(2, Persons.Count); Persons.Find(MongoQuery <Person> .Gte(p => p.Age, 25)); Assert.AreEqual(4, Persons.Count); Persons.Find(MongoQuery <Person> .Lt(p => p.Age, 25)); Assert.AreEqual(1, Persons.Count); Persons.Find(MongoQuery <Person> .Lte(p => p.Age, 25)); Assert.AreEqual(3, Persons.Count); }