This commit is contained in:
grzegorz.russek
2018-09-20 05:35:36 +00:00
parent fe36953bd5
commit 913d29274e
19 changed files with 607 additions and 385 deletions

View File

@@ -31,28 +31,25 @@ using System.Collections.Generic;
using System.Linq;
using DynamORM.Builders;
using DynamORM.Tests.Helpers;
using NUnit.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace DynamORM.Tests.Select
{
/// <summary>Test typed ORM.</summary>
/// <typeparam name="T">Type to test.</typeparam>
[TestFixture(typeof(users))]
[TestClass]
public class TypedAccessTests<T> : TestsBase where T : class
{
/// <summary>Setup test parameters.</summary>
[TestFixtureSetUp]
[TestInitialize]
public virtual void SetUp()
{
CreateTestDatabase();
CreateDynamicDatabase();
// Cache table (profiler freaks out)
GetTestTable();
}
/// <summary>Tear down test objects.</summary>
[TestFixtureTearDown]
[TestCleanup]
public virtual void TearDown()
{
DestroyDynamicDatabase();
@@ -76,7 +73,7 @@ namespace DynamORM.Tests.Select
#region Select typed
/// <summary>Test load all rows into mapped list alternate way.</summary>
[Test]
[TestMethod]
public virtual void TestTypedGetAll()
{
var list = (GetTestTable().Query(type: typeof(T)) as IEnumerable<object>).Cast<T>().ToList();
@@ -85,7 +82,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test load all rows into mapped list alternate way.</summary>
[Test]
[TestMethod]
public virtual void TestTypedGetAll2()
{
var list = GetTestBuilder()
@@ -98,7 +95,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test load all rows into mapped list alternate way.</summary>
[Test]
[TestMethod]
public virtual void TestTypedGetAll3()
{
var list = GetTestBuilder()
@@ -110,21 +107,21 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test unknown op.</summary>
[Test]
[TestMethod]
public virtual void TestTypedUnknownOperation()
{
Assert.Throws<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(type: typeof(T), with: "cheese"));
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch(type: typeof(T), with: "cheese"));
}
/// <summary>Test typed <c>Count</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedCount()
{
Assert.AreEqual(200, GetTestTable().Count(type: typeof(T), columns: "id"));
}
/// <summary>Test typed <c>Count</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedCount2()
{
Assert.AreEqual(200, GetTestBuilder()
@@ -134,7 +131,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSelectInEnumerableCount()
{
Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn
@@ -145,7 +142,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSelectInEnumerableCount2()
{
Assert.AreEqual(4, GetTestBuilder()
@@ -156,7 +153,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSelectInArrayCount()
{
Assert.AreEqual(4, GetTestTable().Count(type: typeof(T), last: new DynamicColumn
@@ -167,7 +164,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSelectInArrayCount2()
{
Assert.AreEqual(4, GetTestBuilder()
@@ -178,14 +175,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>First</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedFirst()
{
Assert.AreEqual(1, GetTestTable().First(type: typeof(T), columns: "id").id);
}
/// <summary>Test typed <c>First</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedFirst2()
{
Assert.AreEqual(1, GetTestBuilder()
@@ -196,14 +193,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Last</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedLast()
{
Assert.AreEqual(200, GetTestTable().Last(type: typeof(T), columns: "id").id);
}
/// <summary>Test typed <c>Last</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedLast2()
{
Assert.AreEqual(200, GetTestBuilder()
@@ -214,21 +211,21 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Count</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedCountSpecificRecord()
{
Assert.AreEqual(1, GetTestTable().Count(type: typeof(T), first: "Ori"));
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedMin()
{
Assert.AreEqual(1, GetTestTable().Min(type: typeof(T), columns: "id"));
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedMin2()
{
Assert.AreEqual(1, GetTestBuilder()
@@ -238,14 +235,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedMax()
{
Assert.AreEqual(200, GetTestTable().Max(type: typeof(T), columns: "id"));
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedMax2()
{
Assert.AreEqual(200, GetTestBuilder()
@@ -255,14 +252,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedtAvg()
{
Assert.AreEqual(100.5, GetTestTable().Avg(type: typeof(T), columns: "id"));
}
/// <summary>Test typed <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedtAvg2()
{
Assert.AreEqual(100.5, GetTestBuilder()
@@ -272,14 +269,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Sum</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSum()
{
Assert.AreEqual(20100, GetTestTable().Sum(type: typeof(T), columns: "id"));
}
/// <summary>Test typed <c>Sum</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSum2()
{
Assert.AreEqual(20100, GetTestBuilder()
@@ -289,21 +286,21 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Scalar</c> method for invalid operation exception.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalarException()
{
Assert.Throws<InvalidOperationException>(() => GetTestTable().Scalar(type: typeof(T), id: 19));
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().Scalar(type: typeof(T), id: 19));
}
/// <summary>Test typed <c>Scalar</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalar()
{
Assert.AreEqual("Ori", GetTestTable().Scalar(type: typeof(T), columns: "first", id: 19));
}
/// <summary>Test typed <c>Scalar</c> method.</summary>
[Test]
[TestMethod]
public void TestTypedScalar2()
{
Assert.AreEqual("Ori", GetTestBuilder()
@@ -314,7 +311,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalarGroupConcat()
{
// This test should produce something like this:
@@ -324,7 +321,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalarGroupConcat2()
{
// This test should produce something like this:
@@ -338,7 +335,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalarGroupConcatNoAggregateField()
{
// This test should produce something like this:
@@ -348,7 +345,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[Test]
[TestMethod]
public virtual void TestTypedScalarGroupConcatNoAggregateField2()
{
// This test should produce something like this:
@@ -362,7 +359,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedFancyAggregateQuery()
{
var v = (GetTestTable().Query(type: typeof(T), columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -377,7 +374,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedFancyAggregateQuery2()
{
var v = GetTestBuilder()
@@ -398,14 +395,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedAggregateInAggregate()
{
Assert.AreEqual(12.77, GetTestTable().Scalar(type: typeof(T), columns: @"length(""login""):len:avg"));
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedAggregateInAggregate2()
{
Assert.AreEqual(12.77, GetTestBuilder()
@@ -415,14 +412,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedAggregateInAggregateMark2()
{
Assert.AreEqual(27.7, GetTestTable().Avg(type: typeof(T), columns: @"length(""email""):len"));
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestTypedAggregateInAggregateMark3()
{
Assert.AreEqual(27.7, GetTestBuilder()
@@ -456,7 +453,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Single</c> multi.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSingleObject()
{
var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -468,7 +465,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed <c>Single</c> multi.</summary>
[Test]
[TestMethod]
public virtual void TestTypedSingleObject2()
{
var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -489,14 +486,14 @@ namespace DynamORM.Tests.Select
#region Where typed
/// <summary>Test typed where expression equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereEq()
{
Assert.AreEqual("hoyt.tran", GetTestTable().Single(type: typeof(T), where: new DynamicColumn("id").Eq(100)).login);
}
/// <summary>Test typed where expression equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereEq2()
{
Assert.AreEqual("hoyt.tran", GetTestBuilder()
@@ -505,14 +502,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression not equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereNot()
{
Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Not(100)));
}
/// <summary>Test typed where expression not equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereNot2()
{
Assert.AreEqual(199, GetTestBuilder()
@@ -523,14 +520,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression like.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLike()
{
Assert.AreEqual(100, GetTestTable().Single(type: typeof(T), where: new DynamicColumn("login").Like("Hoyt.%")).id);
}
/// <summary>Test typed where expression like.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLike2()
{
Assert.AreEqual(100, GetTestBuilder()
@@ -539,14 +536,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression not like.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereNotLike()
{
Assert.AreEqual(199, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("login").NotLike("Hoyt.%")));
}
/// <summary>Test typed where expression not like.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereNotLike2()
{
Assert.AreEqual(199, GetTestBuilder()
@@ -557,7 +554,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression not like.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereNotLike3()
{
Assert.AreEqual(199, GetTestBuilder()
@@ -568,14 +565,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression greater.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereGt()
{
Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Greater(100)));
}
/// <summary>Test typed where expression greater.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereGt2()
{
Assert.AreEqual(100, GetTestBuilder()
@@ -586,14 +583,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression greater or equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereGte()
{
Assert.AreEqual(101, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").GreaterOrEqual(100)));
}
/// <summary>Test typed where expression greater or equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereGte2()
{
Assert.AreEqual(101, GetTestBuilder()
@@ -604,14 +601,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression less.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLt()
{
Assert.AreEqual(99, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Less(100)));
}
/// <summary>Test typed where expression less.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLt2()
{
Assert.AreEqual(99, GetTestBuilder()
@@ -622,14 +619,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression less or equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLte()
{
Assert.AreEqual(100, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").LessOrEqual(100)));
}
/// <summary>Test typed where expression less or equal.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereLte2()
{
Assert.AreEqual(100, GetTestBuilder()
@@ -640,14 +637,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression between.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereBetween()
{
Assert.AreEqual(26, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").Between(75, 100)));
}
/// <summary>Test typed where expression between.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereBetween2()
{
Assert.AreEqual(26, GetTestBuilder()
@@ -658,21 +655,21 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression in parameters.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereIn1()
{
Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(75, 99, 100)));
}
/// <summary>Test typed where expression in array.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereIn2()
{
Assert.AreEqual(3, GetTestTable().Count(type: typeof(T), where: new DynamicColumn("id").In(new[] { 75, 99, 100 })));
}
/// <summary>Test typed where expression in parameters.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereIn3()
{
Assert.AreEqual(3, GetTestBuilder()
@@ -683,7 +680,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test typed where expression in array.</summary>
[Test]
[TestMethod]
public virtual void TestTypedWhereIn4()
{
Assert.AreEqual(3, GetTestBuilder()
@@ -698,7 +695,7 @@ namespace DynamORM.Tests.Select
#region Select generic
/// <summary>Test load all rows into mapped list alternate way.</summary>
[Test]
[TestMethod]
public virtual void TestGenericGetAll()
{
var list = (GetTestTable().Query<T>() as IEnumerable<object>).Cast<T>().ToList();
@@ -707,21 +704,21 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test unknown op.</summary>
[Test]
[TestMethod]
public virtual void TestGenericUnknownOperation()
{
Assert.Throws<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch<T>(with: "cheese"));
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().MakeMeASandwitch<T>(with: "cheese"));
}
/// <summary>Test generic <c>Count</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericCount()
{
Assert.AreEqual(200, GetTestTable().Count<T>(columns: "id"));
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestGenericSelectInEnumerableCount()
{
Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn
@@ -732,7 +729,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test count with in statement.</summary>
[Test]
[TestMethod]
public virtual void TestGenericSelectInArrayCount()
{
Assert.AreEqual(4, GetTestTable().Count<T>(last: new DynamicColumn
@@ -743,70 +740,70 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test generic <c>First</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericFirst()
{
Assert.AreEqual(1, GetTestTable().First<T>(columns: "id").id);
}
/// <summary>Test generic <c>Last</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericLast()
{
Assert.AreEqual(200, GetTestTable().Last<T>(columns: "id").id);
}
/// <summary>Test generic <c>Count</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericCountSpecificRecord()
{
Assert.AreEqual(1, GetTestTable().Count<T>(first: "Ori"));
}
/// <summary>Test generic <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericMin()
{
Assert.AreEqual(1, GetTestTable().Min<T>(columns: "id"));
}
/// <summary>Test generic <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericMax()
{
Assert.AreEqual(200, GetTestTable().Max<T>(columns: "id"));
}
/// <summary>Test generic <c>Min</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenerictAvg()
{
Assert.AreEqual(100.5, GetTestTable().Avg<T>(columns: "id"));
}
/// <summary>Test generic <c>Sum</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericSum()
{
Assert.AreEqual(20100, GetTestTable().Sum<T>(columns: "id"));
}
/// <summary>Test generic <c>Scalar</c> method for invalid operation exception.</summary>
[Test]
[TestMethod]
public virtual void TestGenericScalarException()
{
Assert.Throws<InvalidOperationException>(() => GetTestTable().Scalar<T>(id: 19));
Assert.ThrowsException<InvalidOperationException>(() => GetTestTable().Scalar<T>(id: 19));
}
/// <summary>Test generic <c>Scalar</c> method.</summary>
[Test]
[TestMethod]
public virtual void TestGenericScalar()
{
Assert.AreEqual("Ori", GetTestTable().Scalar<T>(columns: "first", id: 19));
}
/// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate.</summary>
[Test]
[TestMethod]
public virtual void TestGenericScalarGroupConcat()
{
// This test should produce something like this:
@@ -816,7 +813,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test generic <c>Scalar</c> method with SQLite specific aggregate not using aggregate field.</summary>
[Test]
[TestMethod]
public virtual void TestGenericScalarGroupConcatNoAggregateField()
{
// This test should produce something like this:
@@ -826,7 +823,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test something fancy... like: <code>select "first", count("first") aggregatefield from "users" group by "first" order by 2 desc;</code>.</summary>
[Test]
[TestMethod]
public virtual void TestGenericFancyAggregateQuery()
{
var v = (GetTestTable().Query<T>(columns: "first,first:aggregatefield:count", group: "first", order: ":desc:2") as IEnumerable<dynamic>).ToList();
@@ -841,14 +838,14 @@ namespace DynamORM.Tests.Select
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("login")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestGenericAggregateInAggregate()
{
Assert.AreEqual(12.77, GetTestTable().Scalar<T>(columns: @"length(""login""):len:avg"));
}
/// <summary>This time also something fancy... aggregate in aggregate <code>select AVG(LENGTH("email")) len from "users";</code>.</summary>
[Test]
[TestMethod]
public virtual void TestGenericAggregateInAggregateMark2()
{
Assert.AreEqual(27.7, GetTestTable().Avg<T>(columns: @"length(""email""):len"));
@@ -869,7 +866,7 @@ namespace DynamORM.Tests.Select
}
/// <summary>Test generic <c>Single</c> multi.</summary>
[Test]
[TestMethod]
public virtual void TestGenericSingleObject()
{
var exp = new { id = 19, first = "Ori", last = "Ellis" };
@@ -885,77 +882,77 @@ namespace DynamORM.Tests.Select
#region Where generic
/// <summary>Test generic where expression equal.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereEq()
{
Assert.AreEqual("hoyt.tran", GetTestTable().Single<T>(where: new DynamicColumn("id").Eq(100)).login);
}
/// <summary>Test generic where expression not equal.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereNot()
{
Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("id").Not(100)));
}
/// <summary>Test generic where expression like.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereLike()
{
Assert.AreEqual(100, GetTestTable().Single<T>(where: new DynamicColumn("login").Like("Hoyt.%")).id);
}
/// <summary>Test generic where expression not like.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereNotLike()
{
Assert.AreEqual(199, GetTestTable().Count<T>(where: new DynamicColumn("login").NotLike("Hoyt.%")));
}
/// <summary>Test generic where expression greater.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereGt()
{
Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").Greater(100)));
}
/// <summary>Test generic where expression greater or equal.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereGte()
{
Assert.AreEqual(101, GetTestTable().Count<T>(where: new DynamicColumn("id").GreaterOrEqual(100)));
}
/// <summary>Test generic where expression less.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereLt()
{
Assert.AreEqual(99, GetTestTable().Count<T>(where: new DynamicColumn("id").Less(100)));
}
/// <summary>Test generic where expression less or equal.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereLte()
{
Assert.AreEqual(100, GetTestTable().Count<T>(where: new DynamicColumn("id").LessOrEqual(100)));
}
/// <summary>Test generic where expression between.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereBetween()
{
Assert.AreEqual(26, GetTestTable().Count<T>(where: new DynamicColumn("id").Between(75, 100)));
}
/// <summary>Test generic where expression in parameters.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereIn1()
{
Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(75, 99, 100)));
}
/// <summary>Test generic where expression in array.</summary>
[Test]
[TestMethod]
public virtual void TestGenericWhereIn2()
{
Assert.AreEqual(3, GetTestTable().Count<T>(where: new DynamicColumn("id").In(new[] { 75, 99, 100 })));