public void GetByKey_ReturnsIncomeAndExpense() { string expectedTransactionTypesJson = File.ReadAllText(TestConfiguration.MockDataFolderPath + @"TransactionTypes.json"); var expectedTransactionTypes = JsonConvert.DeserializeObject <List <TransactionType> >(expectedTransactionTypesJson); var expectedIncome = expectedTransactionTypes .First(t => t.Name == TransactionType.Options.Income.ToString()); var expectedExpense = expectedTransactionTypes .First(t => t.Name == TransactionType.Options.Expense.ToString()); TransactionTypeRepository .Setup(r => r.GetByKey(TransactionType.Options.Income.ToString())).Returns(expectedIncome); TransactionTypeRepository .Setup(r => r.GetByKey(TransactionType.Options.Expense.ToString())).Returns(expectedExpense); var actualIncome = TransactionTypeService.GetByKey(TransactionType.Options.Income.ToString()); var actualExpense = TransactionTypeService.GetByKey(TransactionType.Options.Expense.ToString()); Assert.NotNull(actualIncome); Assert.NotNull(actualExpense); Assert.Equal(actualIncome.Name, expectedIncome.Name); Assert.Equal(actualIncome.IconUrl, expectedIncome.IconUrl); Assert.Equal(actualExpense.Name, expectedExpense.Name); Assert.Equal(actualExpense.IconUrl, expectedExpense.IconUrl); }