Exemplo n.º 1
0
        public async void GetSumOfItems()
        {
            var items = new List <DatabaseModel.Item>
            {
                new DatabaseModel.Item("assetId1", 1, -1, -1, DateTimeOffset.Now, 10),
                new DatabaseModel.Item("assetId2", 1, -1, -1, DateTimeOffset.Now, 11),
                new DatabaseModel.Item("assetId3", 2, -1, -1, DateTimeOffset.Now, 12),
                new DatabaseModel.Item("assetId4", 3, -1, -1, DateTimeOffset.Now, 13),
                new DatabaseModel.Item("assetId5", 2, -1, -1, DateTimeOffset.Now, 14)
            };


            A.CallTo(() => _descriptionRepoService.ValueOfItemDescriptions(A <List <int> > ._)).Returns(new Dictionary <int, decimal>
            {
                { 1, 1 },
                { 2, 2 },
                { 3, 4 },
            });

            var itemService = new ItemService(_fakedRepoService);

            var res = await itemService.GetSumOfItems(items);


            Assert.Equal(10, res);
        }
Exemplo n.º 2
0
        public async Task <decimal> GetSumOfItems(List <DatabaseModel.Item> items)
        {
            var dict = await _itemDescriptionRepoService.ValueOfItemDescriptions(items.Select(i => i.DescriptionId).ToList());

            var sum = new decimal(0);

            foreach (var kvp in dict)
            {
                sum += items.Where(item => kvp.Key == item.DescriptionId).Sum(item => kvp.Value);
            }

            return(sum);
        }