public void Index_ReturnsListOfItems()
        {
            //Arrange
            var items = new List <Clothing>();

            items.Add(new Clothing {
                Name = "testShirt1", Material = "testMaterial1", Color = "testColor1", DateAdded = DateTime.Now
            });
            items.Add(new Clothing {
                Name = "testShirt2", Material = "testMaterial2", Color = "testColor1", DateAdded = DateTime.Now
            });
            items.Add(new Clothing {
                Name = "testShirt3", Material = "testMaterial3", Color = "testColor3", DateAdded = DateTime.Now
            });
            var mockRepository = new Mock <IClothingRepository>();

            mockRepository.Setup(repository => repository.GetAll()).Returns(items.AsQueryable());
            var controller = new WardrobeController(mockRepository.Object);

            //Act
            //Assert
            var result     = controller.Index("", null, "", "");
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <IEnumerable <Clothing> >(viewResult.ViewData.Model);

            Assert.Equal(3, model.Count());

            var resultFiltering     = controller.Index("testColor1", null, "testColor1", "");
            var viewResultFiltering = Assert.IsType <ViewResult>(resultFiltering);
            var modelFiltering      = Assert.IsAssignableFrom <IEnumerable <Clothing> >(viewResultFiltering.ViewData.Model);

            Assert.Equal(2, modelFiltering.Count());

            var resultOrdering     = controller.Index("", null, "", "name_desc");
            var viewResultOrdering = Assert.IsType <ViewResult>(resultOrdering);
            var modelOrdering      = Assert.IsAssignableFrom <IEnumerable <Clothing> >(viewResultOrdering.ViewData.Model);

            Assert.Equal(items.OrderByDescending(i => i.Name), modelOrdering.ToList());
        }