public void SaveDepositAndRetreiveByCurrencyNameTest_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); List <Deposit> retrievedDeposits = _depositRepository.GetDepositByCurrencyName("LTC"); Assert.IsNotNull(retrievedDeposits); retrievedDeposits[0].SetAmount(777); _persistanceRepository.SaveOrUpdate(retrievedDeposits[0]); retrievedDeposits = _depositRepository.GetDepositByCurrencyName("LTC"); Assert.AreEqual(deposit.Currency.Name, retrievedDeposits[0].Currency.Name); Assert.AreEqual(deposit.DepositId, retrievedDeposits[0].DepositId); Assert.AreEqual(deposit.Type, retrievedDeposits[0].Type); Assert.AreEqual(777, retrievedDeposits[0].Amount); Assert.AreEqual(deposit.Fee, retrievedDeposits[0].Fee); Assert.AreEqual(deposit.Status, retrievedDeposits[0].Status); Assert.AreEqual(deposit.AccountId.Value, retrievedDeposits[0].AccountId.Value); }