public void TestAddBusinessObjectToTransactionInUpdateBeforePersisting_2LevelsDeep()
        {
            //---------------Set up test pack-------------------

            FakeBOWithUpdateBeforePersistingLevel2 fakeBO = new FakeBOWithUpdateBeforePersistingLevel2();
            TransactionCommitterStub        committer     = new TransactionCommitterStub();
            TransactionalBusinessObjectStub trnBusObj     = new TransactionalBusinessObjectStub(fakeBO);

            committer.AddTransaction(trnBusObj);
            //---------------Execute Test ----------------------

            committer.CommitTransaction();

            //---------------Test Result -----------------------
            Assert.AreEqual(3, committer.OriginalTransactions.Count);
        }
        public void TestAddBusinessObjectToTransaction_NotUpdateBeforePersisting_2LevelsDeep()
        {
            //---------------Set up test pack-------------------

            FakeBOWithUpdateBeforePersistingLevel2 fakeBO = new FakeBOWithUpdateBeforePersistingLevel2();
            TransactionCommitterStub        committer     = new TransactionCommitterStub();
            TransactionalBusinessObjectStub trnBusObj     = new TransactionalBusinessObjectStub(fakeBO);

            //---------------Execute Test ----------------------

            committer.AddTransaction(trnBusObj);


            //---------------Test Result -----------------------
            Assert.AreEqual(1, committer.OriginalTransactions.Count,
                            "There should only be the recently added business object not any of its object that are added in update before persist");
        }
        public void TestAddBusinessObjectToTransactionInUpdateBeforePersisting_2LevelsDeep()
        {
            //---------------Set up test pack-------------------

            FakeBOWithUpdateBeforePersistingLevel2 fakeBO = new FakeBOWithUpdateBeforePersistingLevel2();
            TransactionCommitterStub committer = new TransactionCommitterStub();
            TransactionalBusinessObjectStub trnBusObj = new TransactionalBusinessObjectStub(fakeBO);
            committer.AddTransaction(trnBusObj);
            //---------------Execute Test ----------------------

            committer.CommitTransaction();

            //---------------Test Result -----------------------
            Assert.AreEqual(3, committer.OriginalTransactions.Count);
        }
        public void TestAddBusinessObjectToTransaction_NotUpdateBeforePersisting_2LevelsDeep()
        {
            //---------------Set up test pack-------------------

            FakeBOWithUpdateBeforePersistingLevel2 fakeBO = new FakeBOWithUpdateBeforePersistingLevel2();
            TransactionCommitterStub committer = new TransactionCommitterStub();
            TransactionalBusinessObjectStub trnBusObj = new TransactionalBusinessObjectStub(fakeBO);
            //---------------Execute Test ----------------------

            committer.AddTransaction(trnBusObj);


            //---------------Test Result -----------------------
            Assert.AreEqual(1, committer.OriginalTransactions.Count,
                            "There should only be the recently added business object not any of its object that are added in update before persist");
        }