internal static MockBO CreateMockBOWithExtraReadOnlyProp(string newPropName) { ClassDef newClassDef = new MockBO().ClassDef.Clone(); PropDef def = new PropDef(newPropName, typeof (string), PropReadWriteRule.ReadOnly, ""); newClassDef.PropDefcol.Add(def); return new MockBO(newClassDef); }
public void TestCreateRelationship() { ISingleRelationship rel = (ISingleRelationship)mRelationshipDef.CreateRelationship(mMockBo, mMockBo.PropCol); Assert.AreEqual(mRelationshipDef.RelationshipName, rel.RelationshipName); Assert.IsTrue(mMockBo.GetPropertyValue("MockBOProp1") == null); Assert.IsFalse(rel.HasRelatedObject(), "Should be false since props are not defaulted in Mock bo"); mMockBo.SetPropertyValue("MockBOProp1", mMockBo.GetPropertyValue("MockBOID")); mMockBo.Save(); Assert.IsTrue(rel.HasRelatedObject(), "Should be true since prop MockBOProp1 has been set"); Assert.AreEqual(mMockBo.GetPropertyValue("MockBOProp1"), mMockBo.GetPropertyValue("MockBOID")); MockBO ltempBO = (MockBO)rel.GetRelatedObject(); Assert.IsFalse(ltempBO == null); Assert.AreEqual (mMockBo.GetPropertyValue("MockBOID"), ltempBO.GetPropertyValue("MockBOID"), "The object returned should be the one with the ID = MockBOID"); Assert.AreEqual (mMockBo.GetPropertyValueString("MockBOProp1"), ltempBO.GetPropertyValueString("MockBOID"), "The object returned should be the one with the ID = MockBOID"); Assert.AreEqual (mMockBo.GetPropertyValue("MockBOProp1"), ltempBO.GetPropertyValue("MockBOID"), "The object returned should be the one with the ID = MockBOID"); mMockBo.MarkForDelete(); mMockBo.Save(); }
public void TestAutoIncrementObjNotApplicable() { MockBO bo = new MockBO(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.AreEqual(null, statement.SupportsAutoIncrementingField); }
internal static MockBO CreateMockBOWithExtraNonPersistableProp(string newPropName) { ClassDef newClassDef = new MockBO().ClassDef.Clone(); PropDef def = new PropDef(newPropName, typeof (string), PropReadWriteRule.ReadWrite, "") {Persistable = false}; newClassDef.PropDefcol.Add(def); return new MockBO(newClassDef); }
public void TestSqlStatementTableName() { MockBO bo = new MockBO(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.AreEqual("MockBO", statement.TableName); }
public void TestSqlStatementType() { MockBO bo = new MockBO(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); var sqlStatements = statementCol.ToList(); Assert.AreEqual(1, sqlStatements.Count); Assert.AreSame(typeof(InsertSqlStatement), sqlStatements[0].GetType()); }
private static MockBO GetMockBO(out RelationshipDef mRelationshipDef, out RelKeyDef mRelKeyDef) { MockBO _mMockBO= new MockBO(); IPropDefCol mPropDefCol = _mMockBO.PropDefCol; mRelKeyDef = new RelKeyDef(); IPropDef propDef = mPropDefCol["MockBOProp1"]; RelPropDef lRelPropDef = new RelPropDef(propDef, "MockBOID"); mRelKeyDef.Add(lRelPropDef); mRelationshipDef = new SingleRelationshipDef("Relation1", typeof(MockBO), mRelKeyDef, false, DeleteParentAction.Prevent); return _mMockBO; }
public void init() { this.SetupDBConnection(); mMockBo = new MockBO(); mPropDefCol = mMockBo.PropDefCol; mRelKeyDef = new RelKeyDef(); IPropDef propDef = mPropDefCol["MockBOProp1"]; RelPropDef lRelPropDef = new RelPropDef(propDef, "MockBOID"); mRelKeyDef.Add(lRelPropDef); mRelationshipDef = new SingleRelationshipDef ("Relation1", typeof (MockBO), mRelKeyDef, false, DeleteParentAction.Prevent); //DatabaseConnection.CurrentConnection.ConnectionString = MyDBConnection.GetConnectionString(); }
public void init() { this.SetupDBConnection(); mMockBo = new MockBO(); mPropDefCol = mMockBo.PropDefCol; mRelKeyDef = new RelKeyDef(); IPropDef propDef = mPropDefCol["MockBOProp1"]; RelPropDef lRelPropDef = new RelPropDef(propDef, "MockBOID"); mRelKeyDef.Add(lRelPropDef); mRelationshipDef = new SingleRelationshipDef ("Relation1", typeof(MockBO), mRelKeyDef, false, DeleteParentAction.Prevent); //DatabaseConnection.CurrentConnection.ConnectionString = MyDBConnection.GetConnectionString(); }
public void init() { BORegistry.DataAccessor = new DataAccessorInMemory(); _fakeBO = new MockBO(); _propDefCol = _fakeBO.PropDefCol; _RelKeyDef = new RelKeyDef(); IPropDef propDef = _propDefCol["MockBOID"]; RelPropDef relPropDef = new RelPropDef(propDef, "MockBOProp1"); _RelKeyDef.Add(relPropDef); _multipleRelationshipDef = new MultipleRelationshipDef("Relation1", typeof(MockBO), _RelKeyDef, false, "", DeleteParentAction.DeleteRelated); _singleRelationshipDef = new SingleRelationshipDef("Single", typeof(MockBO), _RelKeyDef, false, DeleteParentAction.DeleteRelated); }
public void init() { _mockBo = new MockBO(); _propDefCol = _mockBo.PropDefCol; _RelKeyDef = new RelKeyDef(); IPropDef propDef = _propDefCol["MockBOID"]; RelPropDef relPropDef = new RelPropDef(propDef, "MockBOProp1"); _RelKeyDef.Add(relPropDef); _multipleRelationshipDef = new MultipleRelationshipDef("Relation1", typeof(MockBO), _RelKeyDef, false, "", DeleteParentAction.DeleteRelated); _singleRelationshipDef = new SingleRelationshipDef("Single", typeof(MockBO), _RelKeyDef, false, DeleteParentAction.DeleteRelated); DatabaseConnection.CurrentConnection.ConnectionString = MyDBConnection.GetConnectionString(); }
public void CommitTransaction_WhenBoHasStringPropWithLengthGreaterThanDbField_ShouldRollbackConcurrencyStrategy_FixBugBug_2136() { //---------------Set up test pack------------------- TransactionCommitter committer = new TransactionCommitterDB(DatabaseConnection.CurrentConnection); var temp = new NumberGeneratorPessimisticLockingImpl("tmp"); temp.CallReleaseLocks(); var pessimisticLocking = new NumberGeneratorPessimisticLockingImpl("tmp"); var mockBO = new MockBO { // force a database write exception as MockBOProp2 only allows varchar(50) MockBOProp2 = RandomValueGen.GetRandomString(51, 55) }; committer.AddBusinessObject(mockBO); pessimisticLocking.AddToTransaction(committer); var nextNumber = pessimisticLocking.NextNumber(); //---------------Assert Precondition---------------- Assert.IsTrue(pessimisticLocking.BoSequenceNumber.Status.IsDirty); Assert.IsFalse(pessimisticLocking.BoSequenceNumber.Props["Locked"].IsDirty); Assert.Greater(nextNumber, 0); Assert.Greater(mockBO.MockBOProp2.Length, 50); //---------------Execute Test ---------------------- try { committer.CommitTransaction(); //---------------Test Result ----------------------- Assert.Fail("Expected to throw an DatabaseWriteException"); } catch (DatabaseWriteException ex) { StringAssert.Contains("There was an error writing to the database", ex.Message); } //---------------Test Result ----------------------- Assert.AreEqual(nextNumber, pessimisticLocking.NextNumber()); }
private static MockBO CreateSavedMockBO() { MockBO fakeBO = new MockBO(); fakeBO.Save(); return fakeBO; }
public void TestPersistSimpleCreatedBO_DoesNotFailInTransactionCommitter() { //---------------Set up test pack------------------- MockBO fakeBO = new MockBO(); Guid mockBOProp1 = Guid.NewGuid(); fakeBO.MockBOProp1 = mockBOProp1; TransactionCommitter committerDB = new TransactionCommitterStub(); committerDB.AddBusinessObject(fakeBO); fakeBO.MarkForDelete(); //---------------Assert Preconditions--------------- Assert.AreEqual(1, committerDB.OriginalTransactions.Count); Assert.IsTrue(fakeBO.Status.IsNew); Assert.IsTrue(fakeBO.Status.IsDeleted); //---------------Execute Test ---------------------- committerDB.CommitTransaction(); //---------------Test Result ----------------------- Assert.IsTrue(fakeBO.Status.IsNew); Assert.IsTrue(fakeBO.Status.IsDeleted); }
private static MockBO CreateSavedMockBO() { MockBO mockBo = new MockBO(); mockBo.Save(); return mockBo; }
public void TestPersistSimpleBO_Insert() { //---------------Set up test pack------------------- MockBO mockBo = new MockBO(); TransactionCommitterDB committerDB = new TransactionCommitterDB(DatabaseConnection.CurrentConnection); committerDB.AddTransaction(new TransactionalBusinessObjectDB(mockBo, committerDB.DatabaseConnection)); //---------------Execute Test ---------------------- committerDB.CommitTransaction(); //---------------Test Result ----------------------- TransactionCommitterTestHelper.AssertBOStateIsValidAfterInsert_Updated(mockBo); // BOLoader.Instance.Refresh(mockBo); BORegistry.DataAccessor.BusinessObjectLoader.Refresh(mockBo); //MockBO savedMockBO = // BOLoader.Instance.GetBusinessObject<MockBO>("MockBOID = '" + mockBo.MockBOID.ToString("B") + "'"); Criteria criteria = new Criteria("MockBOID", Criteria.ComparisonOp.Equals, mockBo.MockBOID); MockBO savedMockBO = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<MockBO>(criteria); Assert.AreSame(mockBo, savedMockBO); }
public void TestPersistSimpleBO_NewDelete() { //---------------Set up test pack------------------- MockBO mockBo = new MockBO(); TransactionCommitterInMemory inMemoryCommitter = new TransactionCommitterInMemory(new DataStoreInMemory()); inMemoryCommitter.AddBusinessObject(mockBo); inMemoryCommitter.CommitTransaction(); TransactionCommitterDB committerDB = new TransactionCommitterDB(DatabaseConnection.CurrentConnection); mockBo.MarkForDelete(); committerDB.AddTransaction(new TransactionalBusinessObjectDB(mockBo, committerDB.DatabaseConnection)); //---------------Execute Test ---------------------- committerDB.CommitTransaction(); //---------------Test Result ----------------------- BOTestUtils.AssertBOStateIsValidAfterDelete(mockBo); AssertMockBONotInDatabase(mockBo.MockBOID); }