public void TestDeleteShapes() { //-------------Setup Test Pack ------------------ Shape shape = CreateSavedShape(); CircleNoPrimaryKey circle = CreateSavedCircle(); FilledCircleInheritsCircleNoPK filledCircle = CreateSavedFilledCircle(); //-------------Execute test --------------------- shape.MarkForDelete(); shape.Save(); circle.MarkForDelete(); circle.Save(); filledCircle.MarkForDelete(); filledCircle.Save(); //-------------Test Result ---------------------- BusinessObjectCollection <Shape> shapes = new BusinessObjectCollection <Shape>(); BusinessObjectCollection <CircleNoPrimaryKey> circles = new BusinessObjectCollection <CircleNoPrimaryKey>(); BusinessObjectCollection <FilledCircleInheritsCircleNoPK> filledCircles = new BusinessObjectCollection <FilledCircleInheritsCircleNoPK>(); shapes.LoadAll(); circles.LoadAll(); filledCircles.LoadAll(); Assert.AreEqual(0, shapes.Count); Assert.AreEqual(0, circles.Count); Assert.AreEqual(0, filledCircles.Count); }
protected override void SetupInheritanceSpecifics() { CircleNoPrimaryKey.GetClassDef().SuperClassDef = new SuperClassDef(Shape.GetClassDef(), ORMapping.SingleTableInheritance); CircleNoPrimaryKey.GetClassDef().SuperClassDef.Discriminator = "ShapeType_field"; FilledCircleInheritsCircleNoPK.GetClassDef().SuperClassDef = new SuperClassDef(CircleNoPrimaryKey.GetClassDef(), ORMapping.ClassTableInheritance); }
protected static FilledCircleInheritsCircleNoPK CreateSavedFilledCircle() { FilledCircleInheritsCircleNoPK filledCircle = new FilledCircleInheritsCircleNoPK(); filledCircle.Colour = 3; filledCircle.Radius = 7; filledCircle.ShapeName = "FilledCircle"; filledCircle.Save(); return(filledCircle); }
public void TestSuperClassKey() { IBOKey msuperKey = BOPrimaryKey.GetSuperClassKey((ClassDef)FilledCircleInheritsCircleNoPK.GetClassDef(), _filledCircle); Assert.IsFalse(msuperKey.Contains("CircleID"), "Super class key should not contain the CircleID property"); Assert.IsTrue(msuperKey.Contains("ShapeID"), "Super class key should contain the ShapeID property"); Assert.AreEqual(1, msuperKey.Count, "Super class key should only have one prop"); Assert.AreEqual(_filledCircle.Props["ShapeID"].Value, //msuperKey["ShapeID"].Value, _filledCircle.ID["FilledCircleID"].Value, "ShapeID and FilledCircleID should be the same"); }
public void TestUpdateWhenOnlyOneLevelUpdates() { var myCircle = new FilledCircleInheritsCircleNoPK(); var committer = new TransactionCommitterStub(); committer.AddBusinessObject(myCircle); committer.CommitTransaction(); myCircle.SetPropertyValue("Colour", 4); var myUpdateSql = new UpdateStatementGenerator(myCircle, DatabaseConnection.CurrentConnection).Generate(); Assert.AreEqual(1, myUpdateSql.Count()); }
public void TestLoadUpdatedShapes() { //-------------Setup Test Pack ------------------ Shape shape = CreateSavedShape(); CircleNoPrimaryKey circle = CreateSavedCircle(); FilledCircleInheritsCircleNoPK filledCircle = CreateSavedFilledCircle(); shape.ShapeName = "MyShapeChanged"; shape.Save(); circle.ShapeName = "CircleChanged"; circle.Radius = 10; circle.Save(); filledCircle.ShapeName = "FilledCircleChanged"; filledCircle.Radius = 12; filledCircle.Colour = 4; filledCircle.Save(); //-------------Execute test --------------------- BusinessObjectCollection <Shape> shapes = new BusinessObjectCollection <Shape>(); BusinessObjectCollection <CircleNoPrimaryKey> circles = new BusinessObjectCollection <CircleNoPrimaryKey>(); BusinessObjectCollection <FilledCircleInheritsCircleNoPK> filledCircles = new BusinessObjectCollection <FilledCircleInheritsCircleNoPK>(); shapes.LoadAll("ShapeName"); circles.LoadAll("ShapeName"); filledCircles.LoadAll("ShapeName"); //-------------Test Result ---------------------- Assert.AreEqual(3, shapes.Count); Assert.AreEqual("CircleChanged", shapes[0].ShapeName); Assert.AreEqual("FilledCircleChanged", shapes[1].ShapeName); Assert.AreEqual("MyShapeChanged", shapes[2].ShapeName); Assert.AreEqual(2, circles.Count); Assert.AreEqual(10, circles[0].Radius); Assert.AreEqual(12, circles[1].Radius); Assert.AreEqual("CircleChanged", circles[0].ShapeName); Assert.AreEqual("FilledCircleChanged", circles[1].ShapeName); Assert.AreEqual(1, filledCircles.Count); Assert.AreEqual(4, filledCircles[0].Colour); Assert.AreEqual(12, filledCircles[0].Radius); Assert.AreEqual("FilledCircleChanged", filledCircles[0].ShapeName); }
public void TestLoadCreatedShapes_ShapeAndCircleAndFilledCircle() { //-------------Setup Test Pack ------------------ CreateSavedShape(); CreateSavedCircle(); CreateSavedFilledCircle(); //-------------Execute test --------------------- BusinessObjectCollection <Shape> shapes = new BusinessObjectCollection <Shape>(); shapes.LoadAll("ShapeName"); BusinessObjectCollection <CircleNoPrimaryKey> circles = new BusinessObjectCollection <CircleNoPrimaryKey>(); circles.LoadAll("ShapeName"); BusinessObjectCollection <FilledCircleInheritsCircleNoPK> filledCircles = new BusinessObjectCollection <FilledCircleInheritsCircleNoPK>(); filledCircles.LoadAll(); //-------------Test Result ---------------------- Assert.AreEqual(3, shapes.Count); Assert.AreEqual("Circle", shapes[0].ShapeName); Assert.AreEqual("FilledCircle", shapes[1].ShapeName); Assert.AreEqual("MyShape", shapes[2].ShapeName); Shape filledCircleShape = shapes[1]; Assert.AreEqual(2, circles.Count); Assert.AreEqual("FilledCircle", circles[1].ShapeName); CircleNoPrimaryKey filledCircleCircle = circles[1]; Assert.AreEqual(filledCircleShape.ShapeID, filledCircleCircle.ShapeID); Assert.AreEqual(7, filledCircleCircle.Radius); Assert.AreEqual(1, filledCircles.Count); Assert.AreEqual(filledCircles[0].ShapeID, filledCircleShape.ShapeID); FilledCircleInheritsCircleNoPK filledCircle = filledCircles[0]; Assert.AreEqual(7, filledCircle.Radius); Assert.AreEqual("FilledCircle", filledCircle.ShapeName); Assert.AreEqual(3, filledCircle.Colour); }
public void TestFilledCircleIsUsingCorrectInheritance() { Assert.AreEqual(ORMapping.SingleTableInheritance, CircleNoPrimaryKey.GetClassDef().SuperClassDef.ORMapping); Assert.AreEqual(ORMapping.ClassTableInheritance, FilledCircleInheritsCircleNoPK.GetClassDef().SuperClassDef.ORMapping); }
public void TestUpdateWhenOnlyOneLevelUpdates() { IMock connectionControl = new DynamicMock(typeof (IDatabaseConnection)); IDatabaseConnection connection = (IDatabaseConnection) connectionControl.MockInstance; FilledCircleInheritsCircleNoPK myCircle = new FilledCircleInheritsCircleNoPK(); TransactionCommitterStub committer = new TransactionCommitterStub(); committer.AddBusinessObject(myCircle); committer.CommitTransaction(); myCircle.SetPropertyValue("Colour", 4); var myUpdateSql = new UpdateStatementGenerator(myCircle, DatabaseConnection.CurrentConnection).Generate(); Assert.AreEqual(1, myUpdateSql.Count()); connectionControl.Verify(); }
protected static FilledCircleInheritsCircleNoPK CreateSavedFilledCircle() { FilledCircleInheritsCircleNoPK filledCircle = new FilledCircleInheritsCircleNoPK(); filledCircle.Colour = 3; filledCircle.Radius = 7; filledCircle.ShapeName = "FilledCircle"; filledCircle.Save(); return filledCircle; }