public async void GetSkinnyItems_SkinnyModelsReturned(FileSystemConnection connection,
                                                              DataProviderFile file,
                                                              ItemIdEntity[] itemIdEntities,
                                                              ItemModel itemModel,
                                                              Language language,
                                                              Version version)
        {
            //Arrange
            var sut = Substitute.ForPartsOf <FileSystemItemDataProviderWrapper>();

            var dataProviderFiles = new List <DataProviderFile>()
            {
                new DataProviderFile(itemIdEntities.FirstOrDefault().Key, "json", "/test.json")
            };

            sut.GetAllFilesWrapper(connection).Returns(dataProviderFiles);

            var skinnyModel = new SkinnyItemModel();

            sut.GetSkinnyModelWrapper(dataProviderFiles.FirstOrDefault(), itemIdEntities.FirstOrDefault()).Returns(skinnyModel);

            //Act
            var items = await sut.GetSkinnyItems(connection, itemIdEntities);

            //Assert
            Assert.Equal(skinnyModel, items.FirstOrDefault());
        }
        public async void Get_ItemModels_ReturnsModels(FileSystemConnection connection,
                                                       ItemIdEntity[] itemIdEntities,
                                                       Guid[] ids,
                                                       DataProviderFile dataProviderFile,
                                                       ItemModel itemModel)
        {
            var sut = Substitute.ForPartsOf <FileSystemItemDataProviderWrapper>();

            var skinnyItemModel = new SkinnyItemModel()
            {
                ItemId = ids[0], File = dataProviderFile
            };
            var skinnyItemModels = new List <SkinnyItemModel>()
            {
                skinnyItemModel
            };

            sut.GetSkinnyItems(connection, Arg.Any <IReadOnlyCollection <ItemIdEntity> >()).Returns(skinnyItemModels);

            sut.GetModelWrapper(dataProviderFile).Returns(itemModel);

            //Act
            var items = await sut.GetItemModels(connection, itemIdEntities);

            //Assert
            Assert.Equal(skinnyItemModel, items.FirstOrDefault().Item1);
            Assert.Equal(itemModel, items.FirstOrDefault().Item2);
        }