diff --git a/CoreIntegrationTests/Infrastructure/MongoDbDocumentTestBase.cs b/CoreIntegrationTests/Infrastructure/MongoDbDocumentTestBase.cs index 0c333a9..a1f3944 100644 --- a/CoreIntegrationTests/Infrastructure/MongoDbDocumentTestBase.cs +++ b/CoreIntegrationTests/Infrastructure/MongoDbDocumentTestBase.cs @@ -1078,7 +1078,7 @@ namespace CoreIntegrationTests.Infrastructure #region Math [Fact] - public async Task SumByAsync() + public async Task SumByDecimalAsync() { // Arrange var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}"; @@ -1100,6 +1100,29 @@ namespace CoreIntegrationTests.Infrastructure Assert.Equal(expectedSum, result); } + [Fact] + public void SumByDecimal() + { + // Arrange + var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}"; + var documents = CreateTestDocuments(5); + var i = 1; + documents.ForEach(e => + { + e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++); + e.Nested.SomeAmount = 5m; + e.SomeContent = criteria; + }); + SUT.AddMany(documents); + var expectedSum = documents.Sum(e => e.Nested.SomeAmount); + + // Act + var result = SUT.SumBy(e => e.SomeContent == criteria, e => e.Nested.SomeAmount, PartitionKey); + + // Assert + Assert.Equal(expectedSum, result); + } + #endregion Math #region Test Utils diff --git a/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.cs b/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.cs index e4f2051..e4b0843 100644 --- a/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.cs +++ b/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.cs @@ -1071,7 +1071,7 @@ namespace CoreIntegrationTests.Infrastructure #region Math [Fact] - public async Task SumByAsync() + public async Task SumByDecimalAsync() { // Arrange var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}"; @@ -1093,6 +1093,29 @@ namespace CoreIntegrationTests.Infrastructure Assert.Equal(expectedSum, result); } + [Fact] + public void SumByDecimal() + { + // Arrange + var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}"; + var documents = CreateTestDocuments(5); + var i = 1; + documents.ForEach(e => + { + e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++); + e.Nested.SomeAmount = 5m; + e.SomeContent = criteria; + }); + SUT.AddMany(documents); + var expectedSum = documents.Sum(e => e.Nested.SomeAmount); + + // Act + var result = SUT.SumBy(e => e.SomeContent == criteria, e => e.Nested.SomeAmount, PartitionKey); + + // Assert + Assert.Equal(expectedSum, result); + } + #endregion Math #region Test Utils