private static (Item originalItem, Item expectedItem, Item itemToPut) CreateOriginalExpectedAndItemToPut()
        {
            const string lastUpdateTime = "2018-12-24";
            const string id             = "00000000-0000-0000-0000-000000000005";
            var          originalItem   = ItemsCreator.CreateItem(id: id, text: "text");
            var          itemToPut      = ItemsCreator.CreateItem(id, "new text");
            var          expectedItem   = ItemsCreator.CreateItem(id, itemToPut.Text, lastUpdateTime: lastUpdateTime);

            return(originalItem, expectedItem, itemToPut);
        }
        public async Task UpdateItemAsync_WithItemNotFromDb_ReturnsRetrievedItemEmpty()
        {
            var item = ItemsCreator
                       .CreateItem(id: "00000000-0000-0000-0000-000000000007", text: "different text");

            _getItemService.GetItemAsync(item.Id).Returns(Task.FromResult(RetrievedItem <Item> .Empty));

            var result = await _updateItemService.UpdateItemAsync(item);

            Assert.That(result, Is.EqualTo(RetrievedItem <Item> .Empty));
        }
        public async Task CreateItemAsync_WithValidItem_ReturnsItemWithIdAndCreationAndLastUpdate()
        {
            var expectedItem = GetExpectedItem();

            ArrangeTestAccordingToItem(expectedItem);
            var postItem = ItemsCreator.CreateItem(text: "text");

            var result = await _createItemService.CreateItemAsync(postItem);

            Assert.That(result, Is.EqualTo(expectedItem).UsingItemComparer());
        }
        private static Item GetExpectedItem()
        {
            const string creationTime = "1999-9-9";
            var          expectedItem = ItemsCreator.CreateItem(
                id: "00000000-0000-0000-0000-000000000006",
                text: "text",
                creationTime: creationTime,
                lastUpdateTime: creationTime
                );

            return(expectedItem);
        }
        private static (RetrievedItem <Item> expectedItem, Item itemForUpdate) GetExpectedItemAndItemForUpdate()
        {
            const string lastUpdateTime = "2018-10-17";
            const string id             = "00000000-0000-0000-0000-000000000006";
            const string text           = "text";

            var itemForUpdate = ItemsCreator.CreateItem(id: id, text: text);

            var expectedItem = ItemsCreator
                               .CreateItemAndRetrievedItem(id: id, text: text, lastUpdateTime: lastUpdateTime)
                               .retrievedItem;

            return(expectedItem, itemForUpdate);
        }