static void Main() { /* * var repo = TestHelpers.InitMongoBulk(100000, out _mongoQuery, out _memryQuery, s => Console.Write(s)); * * var defaultMongoQueryable = repo.Collection.AsQueryable(); * * var sw = Stopwatch.StartNew(); * var docs = defaultMongoQueryable.Where(c => c.NumPets != 55).OrderBy(c => c.SSN).Take(5000).ToArray(); * Console.WriteLine("Default Mongo Queryable: " + sw.Elapsed); * * sw.Restart(); * docs = _mongoQuery.Where(c => c.NumPets != 55).OrderBy(c => c.SSN).Take(5000).ToArray(); * Console.WriteLine("LinqPlusPlus Queryable: " + sw.Elapsed); * */ var results = _mongoQuery.Where(c => MongoFunctions.GreaterThan(c.FirstName, "Fred")) .ToArray(); /* * var results = ObjectIdDocumentRepository.GetDefaultDataQueryablePlusPlus(Console.WriteLine) * .Select(c => c._id.CreationTime.Date > new DateTime(2017,2,1,0,0,0,DateTimeKind.Utc)) * .Take(2) * .ToArray(); */ /* * * Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => * queryable.GroupBy(c => c.Birthday.Year) * .Select(c => new { First = c.First() }) * .Take(1) * ))); * * Console.WriteLine("\r\n------------ TEST PROGRAM RESULTS -------------\r\n"); * var results = _mongoQuery.GroupBy(c => c.NumPets) * .Select(c => new { First = c.First() }) * .Take(1) * .ToArray();*/ var json = JsonConvert.SerializeObject(results, Formatting.Indented); Console.WriteLine($"----------------- PIPELINE --------------------\r\n{json}"); if (Debugger.IsAttached) { Console.WriteLine("\r\nPress any key to exit."); Console.ReadKey(); } }
public void Function_GreaterThan_GreaterThanOrEqual() { Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThan(c.FirstName, c.LastName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThan(c.FirstName, c.LastName) == (string.CompareOrdinal(c.FirstName, c.LastName) > 0)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThanOrEqual(c.FirstName, c.LastName) == (string.CompareOrdinal(c.FirstName, c.LastName) >= 0)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Where(c => MongoFunctions.GreaterThan(c.FirstName, c.LastName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Where(c => MongoFunctions.GreaterThanOrEqual(c.FirstName, c.LastName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Where(c => !MongoFunctions.GreaterThan(c.FirstName, c.LastName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Where(c => !MongoFunctions.GreaterThanOrEqual(c.FirstName, c.LastName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThan(c.FirstName, "Tom")) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThan("Tom", c.FirstName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThanOrEqual(c.FirstName, "Tom")) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThanOrEqual("Tom", c.FirstName)) ))); Assert.IsTrue(TestHelpers.AreEqual(new[] { _mongoQuery, _memryQuery }.Select(queryable => queryable.Select(c => MongoFunctions.GreaterThanOrEqual(null, c.FirstName)) ))); }