public void SaveDepositAndRetreiveByIdTest_SavesAnObjectToDatabaseAndManipulatesIt_ChecksIfItIsUpdatedAsExpected() { Deposit deposit = new Deposit(new Currency("LTC", true), "1234", DateTime.Now, DepositType.Default, 2000, 0.005m, TransactionStatus.Pending, new AccountId(1), new TransactionId("transact123"), new BitcoinAddress("address123")); _persistanceRepository.SaveOrUpdate(deposit); Deposit retrievedDeposit = _depositRepository.GetDepositByDepositId("1234"); Assert.IsNotNull(retrievedDeposit); int id = retrievedDeposit.Id; retrievedDeposit.SetAmount(777); _persistanceRepository.SaveOrUpdate(retrievedDeposit); retrievedDeposit = _depositRepository.GetDepositById(id); Assert.AreEqual(deposit.Currency.Name, retrievedDeposit.Currency.Name); Assert.AreEqual(deposit.DepositId, retrievedDeposit.DepositId); Assert.AreEqual(deposit.Type, retrievedDeposit.Type); Assert.AreEqual(777, retrievedDeposit.Amount); Assert.AreEqual(deposit.Fee, retrievedDeposit.Fee); Assert.AreEqual(deposit.Status, retrievedDeposit.Status); Assert.AreEqual(deposit.AccountId.Value, retrievedDeposit.AccountId.Value); }