public void Test_GetBusinessObjectForProp_ID_WithDatabase() { ClassDef.ClassDefs.Clear(); TestUsingDatabase.SetupDBDataAccessor(); BOWithIntID.DeleteAllBOWithIntID(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); IBusinessObject businessObject = GetBusinessObjectStub(); BOPropLookupList boProp = (BOPropLookupList)businessObject.Props[_propDef_int.PropertyName]; BOWithIntID bo1 = new BOWithIntID { TestField = "PropValue", IntID = 55 }; object expectedID = bo1.IntID; bo1.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof(int), _propDef_int.PropertyType); Assert.IsNull(boProp.Value); Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- boProp.Value = expectedID; IBusinessObject objectForProp = boProp.GetBusinessObjectForProp(autoIncClassDef); //---------------Test Result ----------------------- Assert.IsNotNull(objectForProp); }
public void Setup() { ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); FixtureEnvironment.SetupInMemoryDataAccessor(); FixtureEnvironment.SetupNewIsolatedBusinessObjectManager(); }
public void TestMutableCompositeKeyObject_TwoObjectsWithSameFieldNameAndValueAsPrimaryKey() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BOWithIntID_DifferentType.LoadClassDefWithIntID_CompositeKey(); BOWithIntID.LoadClassDefWithIntID_WithCompositeKey(); DataStoreInMemory dataStore = new DataStoreInMemory(); BORegistry.DataAccessor = new DataAccessorInMemory(dataStore); new Car(); BOWithIntID boWithIntID = new BOWithIntID { IntID = TestUtil.GetRandomInt() }; boWithIntID.Save(); BOWithIntID_DifferentType intID_DifferentType = new BOWithIntID_DifferentType(); intID_DifferentType.IntID = boWithIntID.IntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- intID_DifferentType.Save(); //---------------Test Result ----------------------- Assert.AreEqual(2, dataStore.Count); Assert.IsTrue(dataStore.AllObjects.ContainsKey(boWithIntID.ID.ObjectID)); Assert.IsTrue(dataStore.AllObjects.ContainsKey(intID_DifferentType.ID.ObjectID)); IBusinessObject returnedBOWitID = dataStore.AllObjects[boWithIntID.ID.ObjectID]; IBusinessObject returnedBOWitID_diffType = dataStore.AllObjects[intID_DifferentType.ID.ObjectID]; Assert.AreSame(boWithIntID, returnedBOWitID); Assert.AreSame(intID_DifferentType, returnedBOWitID_diffType); }
public void Test_MutableKeyObject_TwoObjectsWithSameFieldNameAndValueAsPrimaryKey() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BOWithIntID_DifferentType.LoadClassDefWithIntID(); BOWithIntID.LoadClassDefWithIntID(); DataStoreInMemory dataStore = new DataStoreInMemory(); BORegistry.DataAccessor = new DataAccessorInMemory(dataStore); new Car(); BOWithIntID boWithIntID = new BOWithIntID(); boWithIntID.IntID = TestUtil.GetRandomInt(); boWithIntID.Save(); BOWithIntID_DifferentType intID_DifferentType = new BOWithIntID_DifferentType(); intID_DifferentType.IntID = TestUtil.GetRandomInt(); intID_DifferentType.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(2, dataStore.Count); //---------------Execute Test ---------------------- // dataStore.Add(intID_DifferentType); // // in the save process the ID is updated to the persisted field values, so the hash of the ID changes // // this is why the object is removed and re-added to the BusinessObjectManager (to ensure the dictionary // // of objects is hashed on the correct, updated value. // intID_DifferentType.Save(); IBusinessObject returnedBOWitID = dataStore.AllObjects[boWithIntID.ID.ObjectID]; IBusinessObject returnedBOWitID_diffType = dataStore.AllObjects[intID_DifferentType.ID.ObjectID]; //---------------Test Result ----------------------- Assert.AreSame(boWithIntID, returnedBOWitID); Assert.AreSame(intID_DifferentType, returnedBOWitID_diffType); }
public void TestPropertyValueToDisplay_BusinessObjectLookupList_NotInList() { IBusinessObject businessObject = GetBusinessObjectStub(); BOProp boProp = (BOProp)businessObject.Props[_propDef_int.PropertyName]; BOWithIntID bo1 = new BOWithIntID { TestField = "PropValue" }; string expectedPropValueToDisplay = bo1.ToString(); bo1.IntID = 55; object expctedID = bo1.IntID; bo1.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof(int), _propDef_int.PropertyType); Assert.IsNull(boProp.Value); Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- boProp.Value = expctedID; //---------------Test Result ----------------------- Assert.IsNotNull(boProp.Value); Assert.AreEqual(expctedID, boProp.Value); Assert.AreEqual(expectedPropValueToDisplay, boProp.PropertyValueToDisplay); }
public static ClassDef LoadClassDefWith_SingleTableInherit() { ClassDef itsClassDef = CreateClassDef(); IClassDef classDef_BOWithIntID = BOWithIntID.LoadClassDefWithIntID_DiscriminatorField(); itsClassDef.SuperClassDef = new SuperClassDef(classDef_BOWithIntID, ORMapping.SingleTableInheritance) { Discriminator = "Type_field" }; itsClassDef.TableName = "bowithintid"; ClassDef.ClassDefs.Add(itsClassDef); return(itsClassDef); }
public void TestFixtureSetup() { //Code that is executed before any test is run in this class. If multiple tests // are executed then it will still only be called once. ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); _propDef_int = new PropDef("PropName", typeof (int), PropReadWriteRule.ReadWrite, null); _validBusinessObject = new BOWithIntID {TestField = _validLookupValue}; _validIntID = 3; _validBusinessObject.IntID = _validIntID; _collection_IntId = new BusinessObjectCollection<BOWithIntID> {_validBusinessObject}; _propDef_int.LookupList = new BusinessObjectLookupListStub(typeof (BOWithIntID), _collection_IntId); }
public void Test_GetBusinessObject_NewBusinessObject_NotInList_NoClassDefOverloadedMethod() { //Check Validation of lookup list does not make invalid ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); BOPropLookupList boProp = new BOPropLookupList(_propDef_int); BOWithIntID unSavedBoWithIntID = new BOWithIntID { IntID = TestUtil.GetRandomInt(), TestField = TestUtil.GetRandomString() }; boProp.Value = unSavedBoWithIntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IBusinessObject returnedBusinessObject = boProp.GetBusinessObjectForProp(); //---------------Test Result ----------------------- Assert.AreSame(unSavedBoWithIntID, returnedBusinessObject); }
public void TestFixtureSetup() { //Code that is executed before any test is run in this class. If multiple tests // are executed then it will still only be called once. ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); _propDef_int = new PropDef("PropName", typeof(int), PropReadWriteRule.ReadWrite, null); _validBusinessObject = new BOWithIntID { TestField = _validLookupValue }; _validIntID = 3; _validBusinessObject.IntID = _validIntID; _collection_IntId = new BusinessObjectCollection <BOWithIntID> { _validBusinessObject }; _propDef_int.LookupList = new BusinessObjectLookupListStub(typeof(BOWithIntID), _collection_IntId); }
public void Test_CreateWithValue_ClassDef() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); int value = TestUtil.GetRandomInt(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo = new BOWithIntID { TestField = "PropValue", IntID = value }; object expectedID = bo.ID; //---------------Execute Test ---------------------- BOPrimaryKey key = BOPrimaryKey.CreateWithValue((ClassDef)autoIncClassDef, value); //---------------Test Result ----------------------- Assert.AreEqual(expectedID.ToString(), key.ToString()); //---------------Tear Down ------------------------- }
public void Test_SetValue_NewBusinessObject_NotInList() { //Assert.Fail("Not yet implemented"); //Check Validation of lookup list does not make invalid BOProp boProp = new BOPropLookupList(_propDef_int); BOWithIntID savedBoWithIntID = new BOWithIntID(); savedBoWithIntID.IntID = TestUtil.GetRandomInt(); savedBoWithIntID.TestField = TestUtil.GetRandomString(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof(int), _propDef_int.PropertyType); //---------------Execute Test ---------------------- boProp.Value = savedBoWithIntID; //---------------Test Result ----------------------- Assert.AreEqual(savedBoWithIntID.ID.GetAsValue(), boProp.Value); Assert.AreEqual(savedBoWithIntID.TestField, boProp.PropertyValueToDisplay); Assert.AreEqual("", boProp.IsValidMessage); Assert.IsTrue(boProp.IsValid); }
public void Test_GetBusinessObject_SavedBusinessObject_NotInList() { //Assert.Fail("Not yet implemented"); //Check Validation of lookup list does not make invalid ClassDef.ClassDefs.Clear(); IClassDef classDefWithIntID = BOWithIntID.LoadClassDefWithIntID(); BOPropLookupList boProp = new BOPropLookupList(_propDef_int); BOWithIntID unSavedBoWithIntID = new BOWithIntID { IntID = TestUtil.GetRandomInt(), TestField = TestUtil.GetRandomString() }; unSavedBoWithIntID.Save(); FixtureEnvironment.ClearBusinessObjectManager(); boProp.Value = unSavedBoWithIntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IBusinessObject returnedBusinessObject = boProp.GetBusinessObjectForProp(classDefWithIntID); //---------------Test Result ----------------------- Assert.AreSame(unSavedBoWithIntID, returnedBusinessObject); }
public void Test_InMemoryLoader_LoadWithIntID() { ClassDef.ClassDefs.Clear(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo1 = new BOWithIntID { TestField = "PropValue", IntID = 55 }; bo1.Save(); IPrimaryKey id = bo1.ID; //---------------Assert Precondition---------------- Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- BOWithIntID returnedBO = (BOWithIntID)BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject (autoIncClassDef, id); //---------------Test Result ----------------------- Assert.IsNotNull(returnedBO); }
public void Test_ChangeObject_NonObjectIdDoesNot_ChangeKeyInObjectManager() { //---------------Set up test pack------------------- var boMan = BusinessObjectManager.Instance; boMan.ClearLoadedObjects(); BOWithIntID.LoadClassDefWithIntID(); var boWithIntID = new BOWithIntID(); //---------------Assert Precondition---------------- Assert.AreEqual(1, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID)); var objectID = boWithIntID.ID.ObjectID; Assert.IsTrue(boMan.Contains(objectID)); //---------------Execute Test ---------------------- boWithIntID.IntID = 2; //---------------Test Result ----------------------- Assert.AreEqual(1, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID)); Assert.IsTrue(boMan.Contains(objectID)); Assert.IsTrue(boMan.Contains(boWithIntID.ID.ObjectID)); }
public void Test_NewObject_ObjectManagerUpdated_WhenIdChangedOnce() { //--------------- Set up test pack ------------------ FixtureEnvironment.ClearBusinessObjectManager(); BOWithIntID.LoadClassDefWithIntID(); var boWithIntID = new BOWithIntID(); var firstIntID = TestUtil.GetRandomInt(); var secondIntID = TestUtil.GetRandomInt(); boWithIntID.IntID = firstIntID; //---------------Assert Precondition---------------- Assert.IsTrue(boWithIntID.Status.IsNew); Assert.AreEqual(1, BusinessObjectManager.Instance.Count); Assert.AreNotEqual(firstIntID, secondIntID); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID.ID)); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID.ID.ObjectID)); //---------------Execute Test ---------------------- boWithIntID.IntID = secondIntID; //---------------Test Result ----------------------- Assert.IsTrue(boWithIntID.Status.IsNew); Assert.AreEqual(1, BusinessObjectManager.Instance.Count); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID.ID.ObjectID)); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID.ID)); }
public void Test_ObjectRemovedFromObjectManager_Int() { //--------------- Set up test pack ------------------ FixtureEnvironment.ClearBusinessObjectManager(); BOWithIntID.LoadClassDefWithIntID(); var boWithIntID = new BOWithIntID(); //--------------- Test Preconditions ---------------- Assert.AreEqual(1, BusinessObjectManager.Instance.Count); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); //--------------- Execute Test ---------------------- boWithIntID = null; GC.Collect(); GC.WaitForPendingFinalizers(); //--------------- Test Result ----------------------- Assert.AreEqual(0, BusinessObjectManager.Instance.Count); }
public void Test_SavedObjectInObjectManager_Int() { //---------------Set up test pack------------------- FixtureEnvironment.ClearBusinessObjectManager(); BOWithIntID.LoadClassDefWithIntID(); var boWithIntID = new BOWithIntID {IntID = TestUtil.GetRandomInt()}; //---------------Assert Precondition---------------- Assert.IsTrue(boWithIntID.Status.IsNew); Assert.AreEqual(1, BusinessObjectManager.Instance.Count); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); //---------------Execute Test ---------------------- boWithIntID.Save(); //---------------Test Result ----------------------- Assert.IsFalse(boWithIntID.Status.IsNew); Assert.AreEqual(1, BusinessObjectManager.Instance.Count); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID.ID)); }
public void TestGetBusinessObjectByIDInt_CriteriaString_Untyped() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); IClassDef classDef = BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo = new BOWithIntID { IntID = TestUtil.GetRandomInt() }; bo.Save(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy();//Ensures a new BOMan is created and used for each test //---------------Execute Test ---------------------- BOWithIntID bo1 = (BOWithIntID) BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject (classDef, string.Format("IntID = {0}", bo.IntID)); //---------------Test Result ----------------------- Assert.IsNotNull(bo1); BOWithIntID bo2 = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<BOWithIntID>(bo1.ID); Assert.AreSame(bo1, bo2); }
public void Test_TestInheritedObjectCanStillGetObjectOutOfManager_HOwDoesKeyKnowType() { //---------------Set up test pack------------------- var boMan = BusinessObjectManager.Instance; BOWithIntID_Child.LoadClassDefWith_SingleTableInherit(); const int id = 3; var boWithIntID = new BOWithIntID {IntID = id}; boMan.ClearLoadedObjects(); var boWithIntID_Child = new BOWithIntID_Child {IntID = id}; boMan.ClearLoadedObjects(); //---------------Assert Precondition---------------- Assert.AreEqual(0, boMan.Count); //---------------Execute Test ---------------------- boMan.Add(boWithIntID); boMan.Add(boWithIntID_Child); //--------------Test Result------------------------- Assert.AreEqual(2, boMan.Count); }
public void TestPropertyValueToDisplay_BusinessObjectLookupList_NotInList() { IBusinessObject businessObject = GetBusinessObjectStub(); BOProp boProp = (BOProp) businessObject.Props[_propDef_int.PropertyName]; BOWithIntID bo1 = new BOWithIntID {TestField = "PropValue"}; string expectedPropValueToDisplay = bo1.ToString(); bo1.IntID = 55; object expctedID = bo1.IntID; bo1.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof (int), _propDef_int.PropertyType); Assert.IsNull(boProp.Value); Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- boProp.Value = expctedID; //---------------Test Result ----------------------- Assert.IsNotNull(boProp.Value); Assert.AreEqual(expctedID, boProp.Value); Assert.AreEqual(expectedPropValueToDisplay, boProp.PropertyValueToDisplay); }
public void Test_TwoObjectTypesWithTheSameIDField_EdidtedToHaveTheSamevalue_CanBeAddedToObjectMan() { //--------------- Set up test pack ------------------ var boMan = BusinessObjectManager.Instance; boMan.ClearLoadedObjects(); BOWithIntID.LoadClassDefWithIntID(); BOWithIntID_DifferentType.LoadClassDefWithIntID(); const int id = 3; var boWithIntID = new BOWithIntID {IntID = id}; var boWithIntID_DifferentType = new BOWithIntID_DifferentType {IntID = 6}; //--------------- Test Preconditions ---------------- Assert.AreEqual(2, boMan.Count); //--------------- Execute Test ---------------------- boWithIntID_DifferentType.IntID = boWithIntID.IntID; //--------------- Test Result ----------------------- Assert.AreEqual(2, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID_DifferentType)); Assert.IsTrue(boMan.Contains(boWithIntID)); }
Test_TwoObjectTypesWithTheSameIDField_EditedToHaveTheSamevalue_CanBeAddedToObjectMan_AsString_LastPersistedValue () { //--------------- Set up test pack ------------------ BusinessObjectManagerStub.SetNewBusinessObjectManager(); var boMan = (BusinessObjectManagerStub) BusinessObjectManagerStub.Instance; boMan.ClearLoadedObjects(); BOWithIntID.LoadClassDefWithIntID(); BOWithIntID_DifferentType.LoadClassDefWithIntID(); const int id = 3; var boWithIntID = new BOWithIntID {IntID = id}; var boWithIntID_DifferentType = new BOWithIntID_DifferentType {IntID = 6}; boWithIntID_DifferentType.IntID = boWithIntID.IntID; boMan.ClearLoadedObjects(); //--------------- Test Preconditions ---------------- Assert.AreEqual(0, boMan.Count); //--------------- Execute Test ---------------------- boMan.AddBusinessObject(boWithIntID, boWithIntID.ID.ObjectID); boMan.AddBusinessObject(boWithIntID_DifferentType, boWithIntID_DifferentType.ID.ObjectID); //--------------- Test Result ----------------------- Assert.AreEqual(2, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID_DifferentType)); Assert.IsTrue(boMan.Contains(boWithIntID)); }
public void Test_GetBusinessObjectForProp_ID_WithDatabase() { ClassDef.ClassDefs.Clear(); DatabaseConnection.CurrentConnection = new DatabaseConnectionMySql("MySql.Data", "MySql.Data.MySqlClient.MySqlConnection"); DatabaseConnection.CurrentConnection.ConnectionString = MyDBConnection.GetDatabaseConfig().GetConnectionString(); DatabaseConnection.CurrentConnection.GetConnection(); BORegistry.DataAccessor = new DataAccessorDB(); BOWithIntID.DeleteAllBOWithIntID(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); IBusinessObject businessObject = GetBusinessObjectStub(); BOPropLookupList boProp = (BOPropLookupList) businessObject.Props[_propDef_int.PropertyName]; BOWithIntID bo1 = new BOWithIntID {TestField = "PropValue", IntID = 55}; object expectedID = bo1.IntID; bo1.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof(int), _propDef_int.PropertyType); Assert.IsNull(boProp.Value); Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- boProp.Value = expectedID; IBusinessObject objectForProp = boProp.GetBusinessObjectForProp(autoIncClassDef); //---------------Test Result ----------------------- Assert.IsNotNull(objectForProp); }
public void Test_FindFirst_Generic_TwoObjectTypesWithTheSameIDField_HaveSameValue() { //--------------- Set up test pack ------------------ BusinessObjectManagerStub.SetNewBusinessObjectManager(); var boMan = (BusinessObjectManagerStub) BusinessObjectManagerStub.Instance; boMan.ClearLoadedObjects(); BOWithIntID.LoadClassDefWithIntID(); BOWithIntID_DifferentType.LoadClassDefWithIntID(); const int id = 3; var boWithIntID = new BOWithIntID {IntID = id}; var boWithIntID_DifferentType = new BOWithIntID_DifferentType {IntID = id}; //--------------- Test Preconditions ---------------- Assert.AreEqual(2, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID_DifferentType)); Assert.IsTrue(boMan.Contains(boWithIntID)); //--------------- Execute Test ---------------------- //BusinessObjectCollection<BOWithIntID> found = boMan.FindFirst<BOWithIntID>(new Criteria("IntID", Criteria.ComparisonOp.Equals, id)); var criteria = new Criteria("IntID", Criteria.ComparisonOp.Equals, id); var found = BusinessObjectManager.Instance.FindFirst(criteria, typeof (BOWithIntID)); //--------------- Test Result ----------------------- Assert.IsNotNull(found); Assert.AreSame(boWithIntID, found); Assert.AreEqual(2, boMan.Count); Assert.IsTrue(boMan.Contains(boWithIntID_DifferentType)); Assert.IsTrue(boMan.Contains(boWithIntID)); }
public void Test_GetBusinessObject_PersistedBusinessObject_NoClassDefOverloadedMethod() { //Check Validation of lookup list does not make invalid ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); BOPropLookupList boProp = new BOPropLookupList(_propDef_int); BOWithIntID savedBoWithIntID = new BOWithIntID {IntID = TestUtil.GetRandomInt(), TestField = TestUtil.GetRandomString()}; savedBoWithIntID.Save(); boProp.Value = savedBoWithIntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IBusinessObject returnedBusinessObject = boProp.GetBusinessObjectForProp(); //---------------Test Result ----------------------- Assert.AreSame(savedBoWithIntID, returnedBusinessObject); }
public void Test_CreateWithValue_Type() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); int value = TestUtil.GetRandomInt(); BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo = new BOWithIntID { TestField = "PropValue", IntID = value }; object expectedID = bo.ID; //---------------Execute Test ---------------------- BOPrimaryKey key = BOPrimaryKey.CreateWithValue(typeof(BOWithIntID), value); //---------------Test Result ----------------------- Assert.AreEqual(expectedID.ToString(), key.ToString()); //---------------Tear Down ------------------------- }
public void Test_GetBusinessObjectForProp() { ClassDef.ClassDefs.Clear(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); IBusinessObject businessObject = GetBusinessObjectStub(); BOPropLookupList boProp = (BOPropLookupList) businessObject.Props[_propDef_int.PropertyName]; BOWithIntID bo1 = new BOWithIntID {TestField = "PropValue", IntID = 55}; object expctedID = bo1.IntID; bo1.Save(); //---------------Assert Precondition---------------- Assert.AreEqual(typeof(int), _propDef_int.PropertyType); Assert.IsNull(boProp.Value); Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- boProp.Value = expctedID; IBusinessObject objectForProp = boProp.GetBusinessObjectForProp(autoIncClassDef); //---------------Test Result ----------------------- Assert.IsNotNull(objectForProp); }
public void TestMutableCompositeKeyObject_TwoObjectsWithSameFieldNameAndValueAsPrimaryKey() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BOWithIntID_DifferentType.LoadClassDefWithIntID_CompositeKey(); BOWithIntID.LoadClassDefWithIntID_WithCompositeKey(); DataStoreInMemory dataStore = new DataStoreInMemory(); BORegistry.DataAccessor = new DataAccessorInMemory(dataStore); new Car(); BOWithIntID boWithIntID = new BOWithIntID {IntID = TestUtil.GetRandomInt()}; boWithIntID.Save(); BOWithIntID_DifferentType intID_DifferentType = new BOWithIntID_DifferentType(); intID_DifferentType.IntID = boWithIntID.IntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- intID_DifferentType.Save(); //---------------Test Result ----------------------- Assert.AreEqual(2, dataStore.Count); Assert.IsTrue(dataStore.AllObjects.ContainsKey(boWithIntID.ID.ObjectID)); Assert.IsTrue(dataStore.AllObjects.ContainsKey(intID_DifferentType.ID.ObjectID)); IBusinessObject returnedBOWitID = dataStore.AllObjects[boWithIntID.ID.ObjectID]; IBusinessObject returnedBOWitID_diffType = dataStore.AllObjects[intID_DifferentType.ID.ObjectID]; Assert.AreSame(boWithIntID, returnedBOWitID); Assert.AreSame(intID_DifferentType, returnedBOWitID_diffType); }
public void Test_InMemoryLoader_LoadWithIntID() { ClassDef.ClassDefs.Clear(); IClassDef autoIncClassDef = BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo1 = new BOWithIntID { TestField = "PropValue", IntID = 55 }; bo1.Save(); IPrimaryKey id = bo1.ID; //---------------Assert Precondition---------------- Assert.IsFalse(bo1.Status.IsNew); Assert.IsNotNull(bo1.IntID); //---------------Execute Test ---------------------- BOWithIntID returnedBO = (BOWithIntID) BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject (autoIncClassDef, id); //---------------Test Result ----------------------- Assert.IsNotNull(returnedBO); }
public void Test_ChangeKey() { //--------------- Set up test pack ------------------ FixtureEnvironment.ClearBusinessObjectManager(); BOWithIntID.LoadClassDefWithIntID(); var boWithIntID = new BOWithIntID(); //--------------- Test Preconditions ---------------- Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); //--------------- Execute Test ---------------------- boWithIntID.IntID = TestUtil.GetRandomInt(); //--------------- Test Result ----------------------- Assert.IsTrue(BusinessObjectManager.Instance.Contains(boWithIntID)); }
public void Test_GetBusinessObject_SavedBusinessObject_NotInList() { //Assert.Fail("Not yet implemented"); //Check Validation of lookup list does not make invalid ClassDef.ClassDefs.Clear(); IClassDef classDefWithIntID = BOWithIntID.LoadClassDefWithIntID(); BOPropLookupList boProp = new BOPropLookupList(_propDef_int); BOWithIntID unSavedBoWithIntID = new BOWithIntID {IntID = TestUtil.GetRandomInt(), TestField = TestUtil.GetRandomString()}; unSavedBoWithIntID.Save(); FixtureEnvironment.ClearBusinessObjectManager(); boProp.Value = unSavedBoWithIntID; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- IBusinessObject returnedBusinessObject = boProp.GetBusinessObjectForProp(classDefWithIntID); //---------------Test Result ----------------------- Assert.AreSame(unSavedBoWithIntID, returnedBusinessObject); }
public void TestGetBusinessObjectByIDInt_ByCriteriaObject() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BOWithIntID.LoadClassDefWithIntID(); BOWithIntID bo = new BOWithIntID {IntID = TestUtil.GetRandomInt()}; bo.Save(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy();//Ensures a new BOMan is created and used for each test Criteria criteria = new Criteria("IntID", Criteria.ComparisonOp.Equals, bo.IntID.ToString()); //---------------Execute Test ---------------------- BOWithIntID bo1 = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<BOWithIntID>(criteria); //---------------Test Result ----------------------- Assert.IsNotNull(bo1); BOWithIntID bo2 = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<BOWithIntID>(bo1.ID); Assert.AreSame(bo1, bo2); }