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 ------------------------- }
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 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 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 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); }
public void init() { mKeyDef = new KeyDef(); mKeyDef.IgnoreIfNull = true; PropDef lPropDef = new PropDef("PropName", typeof(string), PropReadWriteRule.ReadOnly, null); mKeyDef.Add(lPropDef); }
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 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 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 IKeyDef Build(IPropDefCol propDefCol) { var keyDef = new KeyDef(_keyName); foreach (var propName in _propNames) { var propDef = propDefCol[propName]; keyDef.Add(propDef); } return(keyDef); }
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 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 static ClassDef CreateTestMapperClassDef() { 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("ShapeValue", typeof(Int32), PropReadWriteRule.ReadWrite, 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); }