public int AddField(string pAttribute) { if (EntityCount == 1) { return(AddField(EntityCount.ToString(), pAttribute)); } else if (EntityCount > 1) { return(AddField(EntityCount.ToString(), pAttribute)); } else { return(0); } }
public void Can_Get_Summary_With_Grouping() { using (var mock = AutoMock.GetLoose()) { // Arrange var config = mock.Provide <IAppConfig, TestConfig>(); var groupedBy = "Type"; var testPet = GetTestPet(); var expectedMetadata = new Metadata(new[] { Link.Self($"{Constants.TOKENIZED_CURRENT_URL}", HttpMethod.Get.Method), }); var expectedCount = new EntityCount(groupedBy, new Dictionary <string, long> { { PetType.Cat.ToString(), 1 } }); var expectedFoodSummaryModel = new FoodSummaryModel(); expectedFoodSummaryModel.FoodCounts.Add(new FoodCount(FoodType.Fish, 1)); var expected = new SingleResponse(Result.Success, expectedMetadata, expectedFoodSummaryModel); mock.Mock <IRepository <PetEntity> >().Setup(x => x.Count <PetType>(groupedBy)).ReturnsAsync(expectedCount); var systemUnderTest = mock.Create <FoodService>(); // Act var actual = systemUnderTest.Summary().Result; // Assert mock.Mock <IRepository <PetEntity> >().VerifyAll(); Assert.IsNotNull(actual); Assert.IsNull(actual.Errors); Assert.IsNotNull(actual.Data); Assert.IsNotNull(actual.Metadata); Assert.IsNotNull(actual.Metadata.Links); Assert.AreEqual(actual.Result, Result.Success); var actualFoodSummary = actual.Data as FoodSummaryModel; Assert.IsNotNull(actualFoodSummary.FoodCounts); Assert.AreEqual(expectedFoodSummaryModel.FoodCounts.Count, actualFoodSummary.FoodCounts.Count); Assert.IsTrue(FoodCountsAreEqual(expectedFoodSummaryModel.FoodCounts, actualFoodSummary.FoodCounts)); Assert.AreEqual(expected.Metadata.ServerVersion, actual.Metadata.ServerVersion); Assert.IsTrue(MetadataLinksAreEqual(expected.Metadata.Links, actual.Metadata.Links)); } }