package com.w11k.lsql.tests; import com.w11k.lsql.LinkedRow; import com.w11k.lsql.Row; import com.w11k.lsql.Table; import com.w11k.lsql.tests.testdata.PersonTestData; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNull; public class TableColumnIgnoreTest extends AbstractLSqlTest { @Test public void ignoreColumnOnInsert() { PersonTestData.init(this.lSql, false); Table person = this.lSql.table("person"); person.column("firstName").setIgnored(true); person.insert(Row.fromKeyVals( "id", 1, "firstName", "Adam" )); Row row = this.lSql.executeRawQuery(PersonTestData.SELECT_ALL_ORDER_BY_ID).first().get(); assertNull(row.get("firstName")); } @Test public void ignoreColumnOnLoad() { PersonTestData.init(this.lSql, true); Table person = this.lSql.table("person"); person.column("firstName").setIgnored(true); LinkedRow p1 = person.load(1).get(); assertNull(p1.get("firstName")); } @Test public void ignoreColumnOnQuery() { PersonTestData.init(this.lSql, true); Table person = this.lSql.table("person"); person.column("firstName").setIgnored(true); Row row = lSql.executeRawQuery("select * from person").toList().get(0); assertNull(row.get("firstName")); } @Test public void ignoreColumnOnUpdateFlag() { PersonTestData.init(this.lSql, true); Table person = this.lSql.table("person"); person.column("id").setIgnoreOnUpdate(true); person.column("age").setIgnoreOnUpdate(true); person.column("title").setIgnoreOnUpdate(true); Row row = lSql.executeRawQuery("select * from person").toList().get(0); assertEquals(row.get("firstName"), "Adam"); assertEquals(row.get("age"), 30); assertEquals(row.get("title"), "n/a"); row.put("firstName", "Adam2"); row.put("age", 32); row.put("title", "n/a2"); person.update(row); row = lSql.executeRawQuery("select * from person").toList().get(0); assertEquals(row.get("firstName"), "Adam2"); assertEquals(row.get("age"), 30); assertEquals(row.get("title"), "n/a"); } }