public void Setup() { ClassDef.ClassDefs.Clear(); _boPropCol1 = new BOPropCol(); _keyDef1 = new KeyDef(); _boPropCol2 = new BOPropCol(); _keyDef2 = new KeyDef(); //Props for KeyDef 1 PropDef lPropDef = new PropDef("PropName", typeof(string), PropReadWriteRule.ReadWrite, null); _boPropCol1.Add(lPropDef.CreateBOProp(false)); _keyDef1.Add(lPropDef); lPropDef = new PropDef("PropName1", typeof(string), PropReadWriteRule.ReadWrite, null); _boPropCol1.Add(lPropDef.CreateBOProp(false)); _keyDef1.Add(lPropDef); //Props for KeyDef 2 lPropDef = new PropDef("PropName1", typeof(string), PropReadWriteRule.ReadWrite, null); _boPropCol2.Add(lPropDef.CreateBOProp(false)); _keyDef2.Add(lPropDef); lPropDef = new PropDef("PropName", typeof(string), PropReadWriteRule.ReadWrite, null); _boPropCol2.Add(lPropDef.CreateBOProp(false)); _keyDef2.Add(lPropDef); }
public static ClassDef CreateClassDef() { PropDefCol lPropDefCol = new PropDefCol(); PropDef propDef = new PropDef("ShapeName", typeof (String), PropReadWriteRule.ReadWrite, "ShapeName", null); lPropDefCol.Add(propDef); propDef = new PropDef("ShapeID", typeof(Guid), PropReadWriteRule.WriteOnce, "ShapeID_field", null); lPropDefCol.Add(propDef); // propDef = new PropDef("MyID", typeof(Guid), PropReadWriteRule.WriteOnce, null); // lPropDefCol.Add(propDef); PrimaryKeyDef primaryKey = new PrimaryKeyDef(); primaryKey.IsGuidObjectID = true; primaryKey.Add(lPropDefCol["ShapeID"]); KeyDefCol keysCol = new KeyDefCol(); KeyDef lKeyDef = new KeyDef(); lKeyDef.Add(lPropDefCol["ShapeName"]); keysCol.Add(lKeyDef); // RelKeyDef relKeyDef = new RelKeyDef(); //RelPropDef lRelPropDef = new RelPropDef(propDef, "OwnerID"); //relKeyDef.Add(lRelPropDef); //RelationshipDef relDef = new MultipleRelationshipDef("Owner", typeof (Shape), // relKeyDef, false, "", DeleteParentAction.DereferenceRelated); RelationshipDefCol relDefCol = new RelationshipDefCol(); //relDefCol.Add(relDef); ClassDef lClassDef = new ClassDef(typeof (Shape), primaryKey, "Shape_table", lPropDefCol, keysCol, relDefCol); ClassDef.ClassDefs.Add(lClassDef); return lClassDef; }
public void init() { mKeyDef = new KeyDef(); mKeyDef.IgnoreIfNull = true; PropDef lPropDef = new PropDef("PropName", typeof(string), PropReadWriteRule.ReadOnly, null); mKeyDef.Add(lPropDef); }
public void TestAddNullException() { //---------------Set up test pack------------------- KeyDef keyDef = new KeyDef(); //---------------Execute Test ---------------------- try { keyDef.Add(null); Assert.Fail("Expected to throw an HabaneroArgumentException"); } //---------------Test Result ----------------------- catch (HabaneroArgumentException ex) { StringAssert.Contains("You cannot add a null prop def to a classdef", ex.Message); } }
public void TestHasAutoIncrementingProperty_TwoProps_True() { //---------------Set up test pack------------------- PropDef propDef1 = new PropDef("PropName1", typeof(string), PropReadWriteRule.ReadWrite, null); PropDef propDef2 = new PropDef("PropName2", typeof(string), PropReadWriteRule.ReadWrite, null); propDef2.AutoIncrementing = true; BOPropCol propCol = new BOPropCol(); propCol.Add(propDef1.CreateBOProp(false)); propCol.Add(propDef2.CreateBOProp(false)); KeyDef keyDef = new KeyDef(); keyDef.Add(propDef1); keyDef.Add(propDef2); IBOKey boKey = keyDef.CreateBOKey(propCol); //---------------Assert PreConditions--------------- //---------------Execute Test ---------------------- bool hasAutoIncrementingProperty = boKey.HasAutoIncrementingProperty; //---------------Test Result ----------------------- Assert.IsTrue(hasAutoIncrementingProperty); //---------------Tear Down ------------------------- }
public void TestIntegerIndexer() { PropDef propDef1 = new PropDef("PropName1", typeof(string), PropReadWriteRule.ReadOnly, null); PropDef propDef2 = new PropDef("PropName2", typeof(string), PropReadWriteRule.ReadOnly, null); BOPropCol propCol = new BOPropCol(); propCol.Add(propDef1.CreateBOProp(false)); propCol.Add(propDef2.CreateBOProp(false)); KeyDef keyDef = new KeyDef(); keyDef.Add(propDef1); keyDef.Add(propDef2); IBOKey boKey = keyDef.CreateBOKey(propCol); Assert.AreEqual(propCol["PropName1"], boKey[0]); Assert.AreEqual(propCol["PropName2"], boKey[1]); }
public void TestEquality() { BOKey boKey = (BOKey) _keyDef1.CreateBOKey(_boPropCol1); // Test when property count is different KeyDef keyDef = new KeyDef(); BOKey otherKey = new BOKey(keyDef); Assert.IsFalse(boKey == otherKey); // Same property count, but different prop names PropDef propDef1 = new PropDef("PropName5", typeof(string), PropReadWriteRule.ReadOnly, null); PropDef propDef2 = new PropDef("PropName6", typeof(string), PropReadWriteRule.ReadOnly, null); BOPropCol propCol = new BOPropCol(); propCol.Add(propDef1.CreateBOProp(false)); propCol.Add(propDef2.CreateBOProp(false)); keyDef.Add(propDef1); keyDef.Add(propDef2); otherKey = (BOKey) keyDef.CreateBOKey(propCol); Assert.IsFalse(boKey == otherKey); // Same props but different values (with one null) otherKey = (BOKey) _keyDef1.CreateBOKey(_boPropCol2); otherKey["PropName"].Value = "blah"; Assert.IsFalse(boKey == otherKey); // Same props but different values (neither are null) otherKey = (BOKey) _keyDef1.CreateBOKey(_boPropCol2); boKey["PropName"].Value = "diblah"; Assert.IsFalse(boKey == otherKey); Assert.IsFalse(boKey.Equals(otherKey)); // False when different type of object Assert.IsFalse(boKey.Equals(keyDef)); // Finally, when they are equal boKey["PropName"].Value = "blah"; Assert.IsTrue(boKey == otherKey); Assert.IsTrue(boKey.Equals(otherKey)); }
public void TestIndexer_Int_OutOfRange() { //---------------Set up test pack------------------- PropDef propDef1 = new PropDef("prop1", typeof(String), PropReadWriteRule.ReadWrite, null); PropDef propDef2 = new PropDef("prop2", typeof(String), PropReadWriteRule.ReadWrite, null); KeyDef keyDef = new KeyDef("bob"); keyDef.Add(propDef1); keyDef.Add(propDef2); //-------------Test Pre-conditions -------------- //-------------Execute test --------------------- try { IPropDef keyDef0 = keyDef[2]; Assert.Fail("Expected to throw an ArgumentOutOfRangeException"); } //---------------Test Result ----------------------- catch (ArgumentOutOfRangeException ex) { StringAssert.Contains("index out of range", ex.Message); } }
public void TestIndexer_Int() { //---------------Set up test pack------------------- PropDef propDef1 = new PropDef("prop1", typeof(String), PropReadWriteRule.ReadWrite, null); PropDef propDef2 = new PropDef("prop2", typeof(String), PropReadWriteRule.ReadWrite, null); KeyDef keyDef = new KeyDef("bob"); keyDef.Add(propDef1); keyDef.Add(propDef2); //-------------Test Pre-conditions -------------- //-------------Execute test --------------------- IPropDef keyDef0 = keyDef[0]; IPropDef keyDef1 = keyDef[1]; //------------Test Result ---------------------- Assert.AreSame(propDef1, keyDef0); Assert.AreSame(propDef2, keyDef1); }
public void TestKeyName_BuildFromProps_WhenBlank() { //-------------Setup Test Pack ------------------ PropDef propDef1 = new PropDef("prop1", typeof(String), PropReadWriteRule.ReadWrite, null); PropDef propDef2 = new PropDef("prop2", typeof(String), PropReadWriteRule.ReadWrite, null); KeyDef keyDef = new KeyDef(""); //-------------Test Pre-conditions -------------- Assert.AreEqual("", keyDef.KeyName); //-------------Execute test --------------------- keyDef.Add(propDef1); keyDef.Add(propDef2); //-------------Test Result ---------------------- Assert.AreEqual("prop1_prop2", keyDef.KeyName); }
public void TestIsValid() { PropDef propDef = new PropDef("prop", typeof(String), PropReadWriteRule.ReadWrite, null); KeyDef keyDef = new KeyDef(); Assert.IsFalse(keyDef.IsValid()); keyDef.Add(propDef); Assert.IsTrue(keyDef.IsValid()); }
public void TestConstructors() { PropDef propDef = new PropDef("prop", typeof(String), PropReadWriteRule.ReadWrite, null); PropDefCol propDefCol = new PropDefCol(); propDefCol.Add(propDef); PrimaryKeyDef primaryKeyDef = new PrimaryKeyDef(); primaryKeyDef.Add(propDef); KeyDef keyDef = new KeyDef(); keyDef.Add(propDef); KeyDefCol keyDefCol = new KeyDefCol(); keyDefCol.Add(keyDef); RelPropDef relPropDef = new RelPropDef(propDef, "relProp"); RelKeyDef relKeyDef = new RelKeyDef(); relKeyDef.Add(relPropDef); //RelationshipDef relDef = new SingleRelationshipDef("rel", new BusinessObject().GetType(), relKeyDef, true); RelationshipDefCol relDefCol = new RelationshipDefCol(); //relDefCol.Add(relDef); UIDef uiDef = new UIDef("default", null, null); UIDefCol uiDefCol = new UIDefCol(); uiDefCol.Add(uiDef); ClassDef classDef = new ClassDef("ass", "class", null, null, null, null, null); Assert.AreEqual("ass", classDef.AssemblyName); Assert.AreEqual("class", classDef.ClassName); Assert.AreEqual("class", classDef.TableName); Assert.IsNull(classDef.PrimaryKeyDef); Assert.IsNull(classDef.PropDefcol); Assert.IsNull(classDef.KeysCol); Assert.IsNull(classDef.RelationshipDefCol); Assert.AreEqual(0, classDef.UIDefCol.Count); classDef = new ClassDef("ass", "class", primaryKeyDef, propDefCol, keyDefCol, relDefCol, uiDefCol); Assert.AreEqual("ass", classDef.AssemblyName); Assert.AreEqual("class", classDef.ClassName); Assert.AreEqual("class", classDef.TableName); Assert.AreEqual(1, classDef.PrimaryKeyDef.Count); Assert.AreEqual(1, classDef.PropDefcol.Count); Assert.AreEqual(1, classDef.KeysCol.Count); Assert.AreEqual(0, classDef.RelationshipDefCol.Count); Assert.AreEqual(1, classDef.UIDefCol.Count); classDef = new ClassDef(typeof(String), primaryKeyDef, "table", propDefCol, keyDefCol, relDefCol, uiDefCol); //Assert.AreEqual("db", classDef.); ? database has no usage Assert.AreEqual(typeof(String), classDef.ClassType); Assert.AreEqual("table", classDef.TableName); Assert.AreEqual(1, classDef.PrimaryKeyDef.Count); Assert.AreEqual(1, classDef.PropDefcol.Count); Assert.AreEqual(1, classDef.KeysCol.Count); Assert.AreEqual(0, classDef.RelationshipDefCol.Count); Assert.AreEqual(1, classDef.UIDefCol.Count); classDef = new ClassDef(typeof(String), primaryKeyDef, "table", propDefCol, keyDefCol, relDefCol); //Assert.AreEqual("db", classDef.); ? database has no usage Assert.AreEqual(typeof(String), classDef.ClassType); Assert.AreEqual("table", classDef.TableName); Assert.AreEqual(1, classDef.PrimaryKeyDef.Count); Assert.AreEqual(1, classDef.PropDefcol.Count); Assert.AreEqual(1, classDef.KeysCol.Count); Assert.AreEqual(0, classDef.RelationshipDefCol.Count); Assert.AreEqual(0, classDef.UIDefCol.Count); classDef = new ClassDef(typeof(String), primaryKeyDef, propDefCol, keyDefCol, relDefCol, uiDefCol); //Assert.AreEqual("db", classDef.); ? database has no usage Assert.AreEqual(typeof(String), classDef.ClassType); Assert.AreEqual("String", classDef.TableName); Assert.AreEqual(1, classDef.PrimaryKeyDef.Count); Assert.AreEqual(1, classDef.PropDefcol.Count); Assert.AreEqual(1, classDef.KeysCol.Count); Assert.AreEqual(0, classDef.RelationshipDefCol.Count); Assert.AreEqual(1, classDef.UIDefCol.Count); classDef = new ClassDef(typeof(String), primaryKeyDef, "table", propDefCol, keyDefCol, relDefCol, uiDefCol); //Assert.AreEqual("db", classDef.); ? database has no usage Assert.AreEqual(typeof(String), classDef.ClassType); Assert.AreEqual("table", classDef.TableName); Assert.AreEqual(1, classDef.PrimaryKeyDef.Count); Assert.AreEqual(1, classDef.PropDefcol.Count); Assert.AreEqual(1, classDef.KeysCol.Count); Assert.AreEqual(0, classDef.RelationshipDefCol.Count); Assert.AreEqual(1, classDef.UIDefCol.Count); }
private static ClassDef CreateClassDef() { PropDefCol lPropDefCol = CreateBOPropDef(); KeyDef lKeyDef = new KeyDef(); lKeyDef.IgnoreIfNull = true; lKeyDef.Add(lPropDefCol["PK2Prop1"]); lKeyDef.Add(lPropDefCol["PK2Prop2"]); KeyDefCol keysCol = new KeyDefCol(); keysCol.Add(lKeyDef); lKeyDef = new KeyDef(); lKeyDef.IgnoreIfNull = false; lKeyDef.Add(lPropDefCol["PK3Prop"]); keysCol.Add(lKeyDef); PrimaryKeyDef primaryKey = new PrimaryKeyDef(); primaryKey.IsGuidObjectID = true; primaryKey.Add(lPropDefCol["ContactPersonID"]); //Releationships RelationshipDefCol relDefs = CreateRelationshipDefCol(lPropDefCol); ClassDef lClassDef = new ClassDef(typeof (ContactPerson), primaryKey, "contact_person", lPropDefCol, keysCol, relDefs); ClassDef.ClassDefs.Add(lClassDef); return lClassDef; }
public static ClassDef CreateClassDefWithShapeRelationship() { PropDefCol lPropDefCol = CreateBOPropDef(); KeyDef lKeyDef = new KeyDef(); lKeyDef.IgnoreIfNull = true; lKeyDef.Add(lPropDefCol["PK2Prop1"]); lKeyDef.Add(lPropDefCol["PK2Prop2"]); KeyDefCol keysCol = new KeyDefCol(); keysCol.Add(lKeyDef); lKeyDef = new KeyDef(); lKeyDef.IgnoreIfNull = false; lKeyDef.Add(lPropDefCol["PK3Prop"]); keysCol.Add(lKeyDef); PrimaryKeyDef primaryKey = new PrimaryKeyDef(); primaryKey.IsGuidObjectID = true; primaryKey.Add(lPropDefCol["ContactPersonID"]); //Releationships RelationshipDefCol relDefs = new RelationshipDefCol(); RelKeyDef relKeyDef = new RelKeyDef(); IPropDef propDef = lPropDefCol["ContactPersonID"]; RelPropDef lRelPropDef = new RelPropDef(propDef, "OwnerId"); relKeyDef.Add(lRelPropDef); RelationshipDef relDef = new MultipleRelationshipDef("Shapes", typeof(Shape), relKeyDef, false, "", DeleteParentAction.DereferenceRelated); //relDefCol.Add(relDef1); relDefs.Add(relDef); ClassDef lClassDef = new ClassDef(typeof(ContactPerson), primaryKey, "contact_person", lPropDefCol, keysCol, relDefs); ClassDef.ClassDefs.Add(lClassDef); return lClassDef; }