public void Generate() { //Arrange var movie = new Movie { Id = 1, Release_Year = 1988, Title = "Title" }; //Act string statement = new CreateInsert().Generate(movie, null); //Assert statement.Should().Be(@"INSERT INTO Movies (Title, Id, Release_Year) VALUES ('Title', 1, 1988);"); }
public void Generate_ShouldNotPluralizeEntityName() { //Arrange var movie = new Movie { Id = 1, Release_Year = 1988, Title = "Title" }; var insertProperties = new InsertProperties { ShouldPluralizeEntityName = false }; //Act string statement = new CreateInsert().Generate(movie, insertProperties); //Assert statement.Should().Be($"INSERT INTO {nameof(Movie)} (Title, Id, Release_Year) VALUES ('Title', 1, 1988);"); }
public void Generate_OverrideEntityName() { //Arrange var movie = new Movie { Id = 1, Release_Year = 1988, Title = "Title" }; var insertProperties = new InsertProperties { EntityName = "TestName" }; //Act string statement = new CreateInsert().Generate(movie, insertProperties); //Assert statement.Should().Be($"INSERT INTO {insertProperties.EntityName}s (Title, Id, Release_Year) VALUES ('Title', 1, 1988);"); }
public void Generate_ImmutableRecordType() { //Arrange var book = new Book("Title", "Author"); var insertProperties = new InsertProperties { ShouldPluralizeEntityName = false }; //Act string statement = new CreateInsert().Generate(book, insertProperties); //Assert statement.Should().Be($"INSERT INTO {nameof(Book)} (Title, Author) VALUES ('Title', 'Author');"); }
/// <summary> /// Generates raw string Insert Into, but does not execute it. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entity">Entity for insertion.</param> /// <param name="insertProperties">Overrides conventions.</param> /// <returns></returns> public KSqlDbStatement ToInsertStatement <T>(T entity, InsertProperties insertProperties = null) { var insert = new CreateInsert().Generate(entity, insertProperties); return(new KSqlDbStatement(insert)); }