public void TestCRUD_Cat() { o1 = new Cat(); // insert o1.Persist(); Assert.IsTrue(o1.Id > 0, "No identity assigned on insert."); // select o2 = Cat.Retrieve(o1.Id); // verify select/insert Assert.IsNotNull(o2.Id, "The object could not be retrieved from the database!"); Assert.AreEqual(o1.Id, o2.Id, "The object could not be retrieved from the database!"); // update o2.Persist(); // verify update o1 = Cat.Retrieve(o2.Id); // delete o2.Remove(); // verify delete by counting the number of rows SqlBuilder sb = new SqlBuilder(StatementType.Count, typeof(Cat)); sb.AddConstraint(Operator.Equals, "Id", o1.Id); SqlResult sr = Broker.Execute(sb.GetStatement(true)); Assert.AreEqual(0, sr.Count, "Object not removed"); }
public void TestTypeFieldOnPersist() { o1 = new Dog(); Assert.IsNull(o1.Type, "Type was initialized by object itself."); // insert o1.Persist(); Assert.IsNotNull(o1.Type, "Type was not initialized on insert (persist)."); string typeName = o1.Type.Split(',')[0]; Assert.AreEqual("Gentle.Framework.Tests.Dog", typeName, "Invalid type string."); // check that updates dont mess with the string o1.Persist(); Assert.IsNotNull(o1.Type, "Type was not initialized on update (persist)."); typeName = o1.Type.Split(',')[0]; Assert.AreEqual("Gentle.Framework.Tests.Dog", typeName, "Invalid type string."); // delete o1.Remove(); }
public void TestTypeOverride() { // create entry in db o1 = new Dog(); o1.Persist(); // check dynamic type override when using base class retrieve o2 = Animal.Retrieve(o1.Id); Assert.IsTrue(o2 is Dog, "Object construction did not use type from database."); // delete o2.Remove(); }
public void TestCRUD_Cat() { o1 = new Cat(); // insert o1.Persist(); Assert.IsTrue( o1.Id > 0, "No identity assigned on insert." ); // select o2 = Cat.Retrieve( o1.Id ); // verify select/insert Assert.IsNotNull( o2.Id, "The object could not be retrieved from the database!" ); Assert.AreEqual( o1.Id, o2.Id, "The object could not be retrieved from the database!" ); // update o2.Persist(); // verify update o1 = Cat.Retrieve( o2.Id ); // delete o2.Remove(); // verify delete by counting the number of rows SqlBuilder sb = new SqlBuilder( StatementType.Count, typeof(Cat) ); sb.AddConstraint( Operator.Equals, "Id", o1.Id ); SqlResult sr = Broker.Execute( sb.GetStatement( true ) ); Assert.AreEqual( 0, sr.Count, "Object not removed" ); }
public void TestTypeFilter() { // create entries of different types in db o1 = new Dog(); o1.Persist(); o2 = new Cat(); o2.Persist(); // fetch Dog list IList list = Broker.RetrieveList(typeof(Dog)); Assert.AreEqual(1, list.Count, "Filter error."); Assert.AreEqual(typeof(Dog), list[0].GetType(), "Filter error."); // fetch Cat list list = Broker.RetrieveList(typeof(Cat)); Assert.AreEqual(1, list.Count, "Filter error."); Assert.AreEqual(typeof(Cat), list[0].GetType(), "Filter error."); // fetch Animal list list = Broker.RetrieveList(typeof(Animal)); Assert.AreEqual(2, list.Count, "Filter error."); // delete o1.Remove(); o2.Remove(); }
public void TestTypeFilter() { // create entries of different types in db o1 = new Dog(); o1.Persist(); o2 = new Cat(); o2.Persist(); // fetch Dog list IList list = Broker.RetrieveList( typeof(Dog) ); Assert.AreEqual( 1, list.Count, "Filter error." ); Assert.AreEqual( typeof(Dog), list[ 0 ].GetType(), "Filter error." ); // fetch Cat list list = Broker.RetrieveList( typeof(Cat) ); Assert.AreEqual( 1, list.Count, "Filter error." ); Assert.AreEqual( typeof(Cat), list[ 0 ].GetType(), "Filter error." ); // fetch Animal list list = Broker.RetrieveList( typeof(Animal) ); Assert.AreEqual( 2, list.Count, "Filter error." ); // delete o1.Remove(); o2.Remove(); }
public void TestTypeOverride() { // create entry in db o1 = new Dog(); o1.Persist(); // check dynamic type override when using base class retrieve o2 = Animal.Retrieve( o1.Id ); Assert.IsTrue( o2 is Dog, "Object construction did not use type from database." ); // delete o2.Remove(); }
public void TestTypeFieldOnPersist() { o1 = new Dog(); Assert.IsNull( o1.Type, "Type was initialized by object itself." ); // insert o1.Persist(); Assert.IsNotNull( o1.Type, "Type was not initialized on insert (persist)." ); string typeName = o1.Type.Split( ',' )[ 0 ]; Assert.AreEqual( "Gentle.Framework.Tests.Dog", typeName, "Invalid type string." ); // check that updates dont mess with the string o1.Persist(); Assert.IsNotNull( o1.Type, "Type was not initialized on update (persist)." ); typeName = o1.Type.Split( ',' )[ 0 ]; Assert.AreEqual( "Gentle.Framework.Tests.Dog", typeName, "Invalid type string." ); // delete o1.Remove(); }