public void Indicates_Selected_Category() { //Arrange - mock 레파지터리를 생성한다 Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID=1, Name="P1", Category="Apples"}, new Product {ProductID=4, Name="P2", Category="Oranges"} }.AsQueryable()); //Arrange - 컨트롤러를 생성한다. NaviController target = new NaviController(mock.Object); //Arrange - 선택된 카테고리를 정의한다 string categoryToSelect = "Apples"; //Action string result = target.Menu(categoryToSelect).ViewBag.SelectedCategory; //Assert Assert.AreEqual(categoryToSelect, result); }
public void Can_Create_Categories() { //Arrange //- Mock 리파지터리를 생성한다 Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns( new Product[] { new Product {ProductID=1, Name="P1", Category="Apples"}, new Product {ProductID=2, Name="P2", Category="Apples"}, new Product {ProductID=3, Name="P3", Category="Plums"}, new Product {ProductID=4, Name="P4", Category="Oranges"} }.AsQueryable() ); //Arrange - 컨트롤러를 생성한다 NaviController target = new NaviController(mock.Object); //Act - 카테고리 목록을 가져온다 string[] results = ((IEnumerable<string>)target.Menu().Model).ToArray(); //Assert Assert.AreEqual(results.Length, 3); Assert.AreEqual(results[0], "Apples"); Assert.AreEqual(results[1], "Oranges"); Assert.AreEqual(results[2], "Plums"); }