public void SaveDepositsAndRetreiveByAccountIdTest_SavesMultipleObjectsToDatabase_ChecksIfTheyAreAsExpected() { 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 deposit2 = new Deposit(new Currency("BTC", true), "123", DateTime.Now, DepositType.Default, 1000, 0.010m, TransactionStatus.Pending, new AccountId(1), new TransactionId("transact123"), new BitcoinAddress("address123")); Thread.Sleep(500); _persistanceRepository.SaveOrUpdate(deposit2); List <Deposit> retrievedDepositList = _depositRepository.GetDepositByAccountId(new AccountId(1)); Assert.IsNotNull(retrievedDepositList); Assert.AreEqual(2, retrievedDepositList.Count); Assert.AreEqual(deposit.Currency.Name, retrievedDepositList[0].Currency.Name); Assert.AreEqual(deposit.DepositId, retrievedDepositList[0].DepositId); Assert.AreEqual(deposit.Type, retrievedDepositList[0].Type); Assert.AreEqual(deposit.Amount, retrievedDepositList[0].Amount); Assert.AreEqual(deposit.Fee, retrievedDepositList[0].Fee); Assert.AreEqual(deposit.Status, retrievedDepositList[0].Status); Assert.AreEqual(deposit.AccountId.Value, retrievedDepositList[0].AccountId.Value); Assert.AreEqual(deposit2.Currency.Name, retrievedDepositList[1].Currency.Name); Assert.AreEqual(deposit2.DepositId, retrievedDepositList[1].DepositId); Assert.AreEqual(deposit2.Type, retrievedDepositList[1].Type); Assert.AreEqual(deposit2.Amount, retrievedDepositList[1].Amount); Assert.AreEqual(deposit2.Fee, retrievedDepositList[1].Fee); Assert.AreEqual(deposit2.Status, retrievedDepositList[1].Status); Assert.AreEqual(deposit2.AccountId.Value, retrievedDepositList[1].AccountId.Value); }