public void GetFieldDefinitionsFromGenericTypeMatchedWithInvariantCaseMatch() { var parts = new QueryPartsContainer(); var item = new QueryPart(OperationType.None); item.Add(new FieldQueryPart("iD", null, null, "Warrior") { FieldType = typeof(int) }); item.Add(new FieldQueryPart("nAme", null, null, "Warrior") { FieldType = typeof(string) }); item.Add(new FieldQueryPart("weaponId", null, null, "Warrior") { FieldType = typeof(int) }); item.Add(new FieldQueryPart("raCe", null, null, "Warrior") { FieldType = typeof(string) }); item.Add(new FieldQueryPart("specialSkill", null, null, "Warrior") { FieldType = typeof(string) }); parts.Add(item); // Act var fields = TypeDefinitionFactory.GetFieldDefinitions<Warrior>(parts); Assert.IsTrue(fields.Count() == 5); //Assert.IsTrue(fields.Any(f => f.FieldName == "iD")); //Assert.IsTrue(fields.Any(f => f.FieldName == "nAme")); //Assert.IsTrue(fields.Any(f => f.FieldName == "weaponId")); //Assert.IsTrue(fields.Any(f => f.FieldName == "raCe")); //Assert.IsTrue(fields.Any(f => f.FieldName == "specialSkill")); Assert.IsTrue(fields.Any(f => f.FieldName == "ID")); Assert.IsTrue(fields.Any(f => f.FieldName == "Name")); Assert.IsTrue(fields.Any(f => f.FieldName == "WeaponID")); Assert.IsTrue(fields.Any(f => f.FieldName == "Race")); Assert.IsTrue(fields.Any(f => f.FieldName == "SpecialSkill")); }
public void QueryCompilerCompileAndTest() { var part = new DelegateQueryPart(OperationType.And, () => "Field = 1"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "\r\n AND Field = 1"); }
public void SqlServer_QueryCompiler_Compile_AlterTableTest() { var part = new DelegateQueryPart(OperationType.AlterTable, () => "Table"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "ALTER TABLE Table "); }
public void QueryCompilerCompileDeleteTest() { var part = new DelegateQueryPart(OperationType.Delete, () => "Table"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "DELETE FROM Table"); }
public void QueryCompilerCompileFieldTest() { var part = new QueryPart(OperationType.None); part.Add(new FieldQueryPart("Name", null)); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " Name"); }
public void QueryCompilerCompileCountTest() { var part = new QueryPart(OperationType.None); part.Add(new FieldQueryPart("Name", "Alias", operation: OperationType.Count)); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " COUNT(Name) AS Alias"); }
public void SqlServer_QueryCompiler_Compile_AddColumnMissingNUllableTest() { var part = new ValueCollectionQueryPart(OperationType.AddColumn); part.AddValue(KeyValuePart.MemberName, "ColumnName"); part.AddValue(KeyValuePart.MemberType, "int"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "ADD ColumnName int"); }
public void SqliteQueryCompilerCompileAddColumnNullableTest() { var part = new ValueCollectionQueryPart(OperationType.AddColumn); part.AddValue(KeyValuePart.MemberName, "ColumnName"); part.AddValue(KeyValuePart.MemberType, "int"); part.AddValue(KeyValuePart.Nullable, true.ToString()); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "ADD COLUMN ColumnName int"); }
public void DatabaseQueryBuilderCreate() { var provider = new Mock<MockedContextProvider>(); var container = new QueryPartsContainer() as IQueryPartsContainer; var builder = new TableQueryBuilder<Warrior, MockedContextProvider>(provider.Object, container); // Act builder.Create(); Assert.IsTrue(container.Parts.Any(p => p.OperationType == OperationType.CreateTable)); var part = container.Parts.First(p => p.OperationType == OperationType.CreateTable); Assert.IsNotNull(part); Assert.IsTrue(part.Parts.Count(p => p.OperationType == OperationType.Column) == 5); }
public void DatabaseQueryBuilderCreateWithNonEmptyContainer() { var provider = new Mock<MockedContextProvider>(); var container = new QueryPartsContainer() as IQueryPartsContainer; container.Add(new DelegateQueryPart(OperationType.Column, () => string.Empty, typeof(Warrior), "Name")); var builder = new TableQueryBuilder<Warrior, MockedContextProvider>(provider.Object, container); // Act builder.Create(); Assert.IsTrue(container.Parts.Any(p => p.OperationType == OperationType.CreateTable)); var part = container.Parts.First(p => p.OperationType == OperationType.CreateTable); Assert.IsNotNull(part); Assert.IsTrue(part.Parts.Count(p => p.OperationType == OperationType.Column) == 5); }
public void QueryCompilerCompileUpdateValueWithValueCollectionTest() { var part = new ValueCollectionQueryPart(OperationType.UpdateValue); part.AddValue(KeyValuePart.MemberName, "Member"); part.AddValue(KeyValuePart.Value, "Value"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "Member = Value"); }
public void QueryCompilerCompileThenByDescTest() { var part = new DelegateQueryPart(OperationType.ThenByDesc, () => "Field"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, ", Field DESC"); }
public void SqlServer_QueryCompiler_Compile_OutputParameterSetTest() { var part = new DelegateQueryPart(OperationType.OutParameterSet, () => "ParamName=1"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "SET @ParamName=1\r\n"); }
public void QueryCompilerCompileSimpleJoinTest() { var part = new DelegateQueryPart(OperationType.Join, () => "Table"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " \r\nJOIN Table"); }
public void QueryCompilerCompileSelectWithIncludeTest() { var select = new QueryPart(OperationType.Select); select.Add(new FieldQueryPart("Name", "Alias") { OperationType = OperationType.Include }); var parts = new QueryPartsContainer(); parts.Add(select); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "SELECT Name AS Alias"); }
public void SqlServer_QueryCompiler_Compile_ProcedureTest() { var part = new DelegateQueryPart(OperationType.Procedure, () => "ProcName"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "EXEC ProcName "); }
public void QueryCompilerCompileValuesWithInsertValuesTest() { var part = new QueryPart(OperationType.Values); part.Add(new DelegateQueryPart(OperationType.InsertValue, () => "Field1")); part.Add(new DelegateQueryPart(OperationType.InsertValue, () => "Field2")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " VALUES (Field1, Field2)"); }
public void SqlServer_QueryCompiler_Compile_ParameterTest() { var part = new QueryPart(OperationType.None, null); part.Add(new DelegateQueryPart(OperationType.Parameter, () => "Param=value")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "Param=value"); }
public void SqlServer_QueryCompiler_Compile_PrimaryKeyWithMultipleColumnsTest() { var part = new QueryPart(OperationType.PrimaryKey); part.Add(new DelegateQueryPart(OperationType.Column, () => "Column1")); part.Add(new DelegateQueryPart(OperationType.Column, () => "Column2")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "PRIMARY KEY (Column1, Column2)"); }
public void QueryCompilerCompileIgnoreTest() { var select = new QueryPart(OperationType.IgnoreColumn); var parts = new QueryPartsContainer(); parts.Add(select); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, string.Empty); }
public void QueryCompilerCompileFromTest() { var part = new EntityPart(OperationType.From, entity: "Table"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " \r\nFROM Table"); }
public void SqlServer_QueryCompiler_Compile_ColumnMultipleTest() { var part = new QueryPart(OperationType.None); var part1 = new ValueCollectionQueryPart(OperationType.Column); part1.AddValue(KeyValuePart.MemberName, "ColumnName1"); part1.AddValue(KeyValuePart.MemberType, "int"); part1.AddValue(KeyValuePart.Nullable, false.ToString()); part.Add(part1); var part2 = new ValueCollectionQueryPart(OperationType.Column); part2.AddValue(KeyValuePart.MemberName, "ColumnName2"); part2.AddValue(KeyValuePart.MemberType, "VARCHAR(20)"); part2.AddValue(KeyValuePart.Nullable, true.ToString()); part.Add(part2); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "ColumnName1 int NOT NULL, ColumnName2 VARCHAR(20)"); }
public void QueryCompilerCompileUpdateWithUpdateValueTest() { var part = new DelegateQueryPart(OperationType.Update, () => "Table"); part.Add(new DelegateQueryPart(OperationType.UpdateValue, () => "Field1=Value1, ")); part.Add(new DelegateQueryPart(OperationType.UpdateValue, () => "Field2=Value2")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "UPDATE Table SET Field1=Value1, Field2=Value2"); }
public void QueryCompilerCompileOrderByTest() { var part = new DelegateQueryPart(OperationType.OrderBy, () => "Field"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " \r\nORDER BY Field ASC"); }
public void QueryCompilerCompileValuesTest() { var part = new QueryPart(OperationType.Values, null); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " VALUES ()"); }
public void QueryCompilerCompileSelectTest() { var parts = new QueryPartsContainer(); parts.Add(new QueryPart(OperationType.Select, null)); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "SELECT"); }
public void QueryCompilerCompileInsertWithInsertMemberTest() { var part = new DelegateQueryPart(OperationType.Insert, () => "TableName"); part.Add(new DelegateQueryPart(OperationType.InsertMember, () => "Field1")); part.Add(new DelegateQueryPart(OperationType.InsertMember, () => "Field2")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "INSERT INTO TableName (Field1, Field2)"); }
public void SqlServer_QueryCompiler_Compile_SelectWithOutputParameterSelectTest() { var part = new QueryPart(OperationType.Select); part.Add(new DelegateQueryPart(OperationType.OutParameterSelect, () => "Param1")); part.Add(new DelegateQueryPart(OperationType.OutParameterSelect, () => "Param2")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, "SELECT @Param1 AS Param1, @Param2 AS Param2"); }
public void QueryCompilerCompileFieldWithAliasAndTableAndTableAliasDefinitionTest() { var part = new QueryPart(OperationType.None); part.Add(new FieldQueryPart("Name", "Alias", entity: "Entity", entityalias: "EntityAlias")); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " EntityAlias.Name AS Alias"); }
public void QueryCompilerCompileJoinithAliasTest() { var part = new EntityPart(OperationType.Join, entity: "Table", entityAlias: "Alias"); var parts = new QueryPartsContainer(); parts.Add(part); var compiler = new QueryCompiler(); var query = compiler.Compile(parts, new InterceptorCollection()); Assert.AreEqual(query.QueryString, " \r\nJOIN Table Alias"); }