public void Generate_Category_Specific_Dish_Count() { //Arrange Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "Dish1", Category = "Drink" }, new Dish { DishId = 2, Name = "Dish2", Category = "Food" }, new Dish { DishId = 3, Name = "Dish3", Category = "Food" }, new Dish { DishId = 4, Name = "Dish4", Category = "Drink" }, new Dish { DishId = 5, Name = "Dish5", Category = "Food" } }); DishController controler = new DishController(mock.Object); //Act int res1 = ((DishesListViewModel)controler.List("Drink").Model).PagingInfo.TotalItems; int res2 = ((DishesListViewModel)controler.List("Food").Model).PagingInfo.TotalItems; int resAll = ((DishesListViewModel)controler.List(null).Model).PagingInfo.TotalItems; //Assert Assert.AreEqual(res1, 2); Assert.AreEqual(res2, 3); Assert.AreEqual(resAll, 5); }
public void Start() { if (RotationTrasform != null && RotationTransform == null) { RotationTransform = RotationTrasform; } rotTransform = gameObject.transform.FindRecursive(RotationTransform); elTransform = gameObject.transform.FindRecursive(ElevationTransform); if (rotTransform == null) { Log.Normal("DishAnimate: Rotations Transform not found"); Destroy(this); } if (elTransform == null) { Log.Normal("DishAnimate: Elevation Transform not found"); Destroy(this); } if (!float.TryParse(MaxSpeed, out speedMax)) { Log.UserWarning("Cannot parse MaxSpeed: " + MaxSpeed); } if (!float.TryParse(FakeTimeWarp, out timeWarpFake)) { Log.UserWarning("Cannot parse FakeTimeWarp: " + FakeTimeWarp); } if (!float.TryParse(MaxElevation, out maxElevation)) { Log.UserWarning("Cannot parse MaxElevation: " + MaxElevation); } if (!float.TryParse(MinElevation, out minElevation)) { Log.UserWarning("Cannot parse MinElevation: " + MinElevation); } dish = new DishController.Dish(); dish.elevationTransform = elTransform; //dish.elevationInit = new Quaternion(); dish.rotationTransform = rotTransform; //dish.rotationInit = new Quaternion(); controller = gameObject.AddComponent <DishController>(); controller.dishes = new DishController.Dish[] { dish }; controller.enabled = true; controller.fakeTimeWarp = timeWarpFake; controller.maxSpeed = speedMax; controller.maxElevation = maxElevation; controller.minElevation = minElevation; }
public async Task Details_ReturnsDishDetail() { // Arrange var dishId = 1; var mockLogger = new Mock <ILogger <DishController> >(); var mockIngredientService = new IngredientService(_context); var mockDishService = new DishService(_context); var controller = new DishController(_context, mockLogger.Object, mockIngredientService, mockDishService); // Act var result = await controller.Details(dishId); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.Null(viewResult.ViewName); Assert.NotNull(viewResult.ViewData); var viewModel = Assert.IsType <Dish>(viewResult.ViewData.Model); Assert.NotNull(viewModel.Category); var category = _context.Categories.SingleOrDefault(g => g.CategoryId == viewModel.CategoryId); Assert.NotNull(category); }
public DishTests() { AutoMapperConfiguration.Configure(); UnityConfig.RegisterComponents(); var mockDishRepository = new Mock <IDishRepository>(); mockDishRepository.Setup(x => x.CreateQuery()).Returns(DishData.CreateQuery); mockDishRepository.Setup(x => x.Get(1)).Returns(DishData.Get); mockDishRepository.Setup(x => x.Update(DishData.Get())).Callback(() => edited = true); var mockDishTagRepository = new Mock <IDishTagRepository>(); var mockTagRepository = new Mock <ITagRepository>(); mockTagRepository.Setup(m => m.CreateQuery()).Returns(TagData.CreateQuery); var mockTagService = new Mock <ITagService>(); var mockUserRepository = new Mock <IUserRepository>(); mockUserRepository.Setup(m => m.Get(1)).Returns(new User { UserName = "******" }); dishService = new DishService(mockDishRepository.Object, mockDishTagRepository.Object, mockTagRepository.Object, mockTagService.Object); dishController = new DishController(dishService); }
public void Can_Retrieve_Image_Data() { // Arrange Dish dish = new Dish { DishId = 2, Name = "dish2", ImageData = new byte[] { }, ImageMimeType = "image/png" }; Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "dish1" }, dish, new Dish { DishId = 3, Name = "dish2" } }.AsQueryable()); DishController controller = new DishController(mock.Object); // Act ActionResult result = controller.GetImage(2); // Asserts Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(FileResult)); Assert.AreEqual(dish.ImageMimeType, ((FileResult)result).ContentType); }
public DishControllerTest() { SetAutoMapper(); _service = new DishServiceTest(_mapper); _controller = new DishController(_service); _validator = new DishValidator(); }
public void HTTPGet() { var controller = new DishController(_logger, _irequestDishes); var response = controller.Get("morning, 1, 3, 2, 3"); Assert.AreEqual(1, response.Count()); }
public void PagingTest() { // Arrange // Макет репозитория var mock = new Mock <IRepository <Dish> >(); mock.Setup(r => r.GetAll()) .Returns(new List <Dish> { new Dish { DishId = 1 }, new Dish { DishId = 2 }, new Dish { DishId = 3 }, new Dish { DishId = 4 }, new Dish { DishId = 5 }, }); // Создание объекта контроллера var controller = new DishController(mock.Object); // Макеты для получения HttpContext и HttpRequest var request = new Mock <HttpRequestBase>(); var httpContext = new Mock <HttpContextBase>(); httpContext.Setup(h => h.Request).Returns(request.Object); // Создание контекста контроллера controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = httpContext.Object; NameValueCollection valueCollection = new NameValueCollection(); valueCollection.Add("X-Requsted-With", "XMLHttpRequest"); valueCollection.Add("Accept", "application/json"); // другой вариант: valueCollection.Add("Accept", "HTML"); request.Setup(r => r.Headers).Returns(valueCollection); // Act // Вызов метода List var view = controller.List(null, 2) as ViewResult; // Assert Assert.IsNotNull(view, "Представление не получено"); Assert.IsNotNull(view.Model, "Модель не получена"); PageListViewModel <Dish> model = view.Model as PageListViewModel <Dish>; Assert.AreEqual(2, model.Count); Assert.AreEqual(4, model[0].DishId); Assert.AreEqual(5, model[1].DishId); }
public void CategoryTest() { //Arrange //Макет репозитория var mock = new Mock <IRepository <Dish> >(); mock.Setup(r => r.GetAll()).Returns(new List <Dish> { new Dish { DishID = 1, GroupName = "1" }, new Dish { DishID = 2, GroupName = "2" }, new Dish { DishID = 3, GroupName = "1" }, new Dish { DishID = 4, GroupName = "2" }, new Dish { DishID = 5, GroupName = "2" }, }); //Создание объекта контроллера var controller = new DishController(mock.Object); //Макеты для получения HttpContext HttpRequest var request = new Mock <HttpRequestBase>(); var httpContext = new Mock <HttpContextBase>(); httpContext.Setup(h => h.Request).Returns(request.Object); //Создание контекста контроллера controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = httpContext.Object; //Act //Вызов метода List var view = controller.List("1", 1) as ViewResult; //Assert Assert.IsNotNull(view, "Представление не получено"); Assert.IsNotNull(view.Model, "Модель не получена"); PageListViewModel <Dish> model = view.Model as PageListViewModel <Dish>; Assert.AreEqual(2, model.Count); Assert.AreEqual(1, model[0].DishID); Assert.AreEqual(3, model[1].DishID); }
public async Task DishControllerAddAndGetTest() { //Arrange var options = new DbContextOptionsBuilder <MainContext>() .UseInMemoryDatabase(databaseName: "MockDB") .Options; var context = new MainContext(options); var repository = new ItemRepository <Dish>(context); var controller = new DishController(repository); var dish = new Dish(); //Act await controller.Post(dish); var items = await controller.Get(); //Asert //3 seeded in MainContext constructor and 1 I attached here, total 4 items.Count.Should().Be(4); }
public void Index_ReturnsNewDish_WhenNotDishId([Frozen] IMealService mealService) { //Arrange var mealMock = Mock.Get(mealService); var dishController = new DishController(mealMock.Object); //Act var sut = dishController.Index(null); //Assert sut.Should().BeAssignableTo <IActionResult>().And.BeOfType <ViewResult>() .Which.Model.Should().NotBeNull().And.BeOfType <Dish>(); mealMock.Verify(); }
public void Save_ReturnsViewWithModelStateError_WhenSaveDishWithoutName([Frozen] IMealService mealService, [Frozen] Dish dish) { //Arrange dish.Name = ""; var mealMock = Mock.Get(mealService); var dishController = new DishController(mealMock.Object); dishController.ModelState.AddModelError("Name", "Required"); //Act var sut = dishController.Save(dish); //Assert sut.Should().BeAssignableTo <IActionResult>().And.BeOfType <ViewResult>() .Which.ViewData.ModelState["Name"].Errors.Should().HaveCount(1); }
public async Task Returns_correct_dishes() { //Arrange var mockLogger = new Mock <ILogger <DishController> >(); var mockIngredientService = new IngredientService(_context); var mockDishService = new DishService(_context); var controller = new DishController(_context, mockLogger.Object, mockIngredientService, mockDishService); //Act var result = await controller.Index(); //Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <Dish> >( viewResult.ViewData.Model); Assert.Equal(3, model.Count()); }
public void Save_ReturnsToIndexWithDish_WhenSaveExistingDish([Frozen] IMealService mealService, [Frozen] Dish dish) { //Arrange var mealMock = Mock.Get(mealService); mealMock.Setup(m => m.UpdateDish(dish)).Verifiable(); var dishController = new DishController(mealMock.Object); //Act var sut = dishController.Save(dish); //Assert sut.Should().BeOfType <RedirectToActionResult>().Which.ActionName.Should().Be("Index"); sut.Should().BeAssignableTo <IActionResult>().And.BeOfType <RedirectToActionResult>() .Which.RouteValues.Should().NotBeNull().And.ContainValue(dish.Id); mealMock.Verify(); }
public void Index_ReturnsExistingDish_WhenPassExistingDishId([Frozen] IMealService mealService, [Frozen] Dish dish) { //Arrange var mealMock = Mock.Get(mealService); mealMock.Setup(m => m.GetDish(dish.Id)).Returns(dish).Verifiable(); var dishController = new DishController(mealMock.Object); //Act var sut = dishController.Index(dish.Id); //Assert sut.Should().BeAssignableTo <IActionResult>().And.BeOfType <ViewResult>() .Which.Model.Should().NotBeNull().And.BeOfType <Dish>() .Which.Should().BeSameAs(dish); mealMock.Verify(); }
public void Cannot_Retrieve_Image_Data_For_Invalid_ID() { // Arrange Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "dish1" }, new Dish { DishId = 2, Name = "dish2" } }.AsQueryable()); DishController controller = new DishController(mock.Object); // Act ActionResult result = controller.GetImage(10); // Asserts Assert.IsNull(result); }
public void Can_Send_Pagination_View_Model() { // Arrange Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "Dish1" }, new Dish { DishId = 2, Name = "Dish2" }, new Dish { DishId = 3, Name = "Dish3" }, new Dish { DishId = 4, Name = "Dish4" }, new Dish { DishId = 5, Name = "Dish5" } }); DishController controller = new DishController(mock.Object); controller.pageSize = 3; // Act DishesListViewModel result = (DishesListViewModel)controller.List(null, 2).Model; // Assert PagingInfo pageInfo = result.PagingInfo; Assert.AreEqual(pageInfo.CurrentPage, 2); Assert.AreEqual(pageInfo.ItemsPerPage, 3); Assert.AreEqual(pageInfo.TotalItems, 5); Assert.AreEqual(pageInfo.TotalPages, 2); }
public void Can_Filter_Category() { //Arrange Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "Dish1", Category = "Drink" }, new Dish { DishId = 2, Name = "Dish2", Category = "Food" }, new Dish { DishId = 3, Name = "Dish3", Category = "Food" }, new Dish { DishId = 4, Name = "Dish4", Category = "Drink" }, new Dish { DishId = 5, Name = "Dish5", Category = "Food" } }); DishController controler = new DishController(mock.Object); //Act DishesListViewModel result = (DishesListViewModel)controler.List("Drink").Model; //Assert List <Dish> dishes = result.Dishes.ToList(); Assert.AreEqual(result.CurrentCategory, "Drink"); Assert.AreEqual(dishes.Count, 2); Assert.IsTrue(dishes[0].Name == "Dish1" && dishes[0].Category == "Drink"); Assert.IsTrue(dishes[1].Name == "Dish4" && dishes[1].Category == "Drink"); }
public void Can_Paginate() { // Arrange Mock <IDishRepository> mock = new Mock <IDishRepository>(); mock.Setup(m => m.Dishes).Returns(new List <Dish> { new Dish { DishId = 1, Name = "Dish1" }, new Dish { DishId = 2, Name = "Dish2" }, new Dish { DishId = 3, Name = "Dish3" }, new Dish { DishId = 4, Name = "Dish4" }, new Dish { DishId = 5, Name = "Dish5" } }); DishController controller = new DishController(mock.Object); controller.pageSize = 3; // Act DishesListViewModel result = (DishesListViewModel)controller.List(null, 2).Model; // Asserts List <Dish> dishes = result.Dishes.ToList(); Assert.IsTrue(dishes.Count == 2); Assert.AreEqual(dishes[0].Name, "Dish4"); Assert.AreEqual(dishes[1].Name, "Dish5"); }
/// <summary> /// Removes some unneeded behaviours from squad models and sets up the Destructibles /// </summary> internal static void MangleSquadStatic(StaticInstance instance) { GameObject gameObject = instance.mesh; //Log.Normal("Called for:" + instance.gameObject.name); foreach (var component in gameObject.GetComponentsInChildren <MonoBehaviour>(true)) { if (behavioursToRemove.Contains(component.GetType())) { //Log.Normal("Removed: " + component.GetType().ToString()); UnityEngine.Object.DestroyImmediate(component); } } //instance.gameObject.tag = String.Empty; //foreach (Transform transform in gameObject.transform.GetComponentsInChildren<Transform>(true)) //{ // //transform.gameObject.tag = String.Empty; // if (transform.name.Equals("wreck", StringComparison.InvariantCultureIgnoreCase)) // { // transform.parent = null; // GameObject.Destroy(transform.gameObject); // } // //if (transform.name.Equals("commnetnode", StringComparison.InvariantCultureIgnoreCase)) // //{ // // transform.parent = null; // // GameObject.Destroy(transform.gameObject); // //} //} int counter = 0; foreach (var component in gameObject.GetComponentsInChildren <DestructibleBuilding>(true)) { component.id = instance.UUID + "_" + counter; component.preCompiledId = true; instance.destructible = component; //Log.Normal("registering destructible: " + component.id); counter++; } TimeOfDayAnimation dotAnim = gameObject.AddComponent <TimeOfDayAnimation>(); dotAnim.emissives = new List <TimeOfDayAnimation.MaterialProperty>(); foreach (var renderer in gameObject.GetComponentsInChildren <Renderer>(true)) { foreach (Material mat in renderer.materials) { // Log.Normal("found Material: " + gameObject.name +" " + mat.name); foreach (string matname in materialPropertyNames) { if (mat.name.Contains(matname)) //if (mat.name.Contains(matname) && mat.HasProperty(dotPoperty)) { //Log.Normal("added Materialproperty to: " + gameObject.name + " "+ mat.name); TimeOfDayAnimation.MaterialProperty mp = new TimeOfDayAnimation.MaterialProperty(); mp.material = mat; mp.propertyName = dotPoperty; mp.isDirty = true; dotAnim.emissives.Add(mp); break; } } } } dotAnim.emissiveTgtColor = dotColor; dotAnim.emissiveColorProperty = dotPoperty; dotAnim.emissivesCurve = dotAnimationCurve; dotAnim.enabled = true; // Lv3 Tracking Dish Animation if (instance.model.name == "SQUAD_LV3_Tracking_Dish") { DishController controller = gameObject.AddComponent <DishController>(); controller.fakeTimeWarp = 1f; controller.maxSpeed = 2 / instance.ModelScale; controller.maxElevation = 90f; controller.minElevation = 5f; DishController.Dish dish = new DishController.Dish(); dish.rotationTransform = gameObject.transform.FindRecursive("Lower Assembly"); dish.elevationTransform = gameObject.transform.FindRecursive("Satellite Dish"); controller.dishes = new DishController.Dish[] { dish }; controller.enabled = true; } if (instance.model.name == "KSC_FuelTank") { //Log.Normal("Fixing KSC Fuel Tank"); GameObject oldGameObject = instance.mesh; GameObject newBaseObject = new GameObject(instance.model.name); oldGameObject.transform.parent = newBaseObject.transform; oldGameObject.transform.localEulerAngles = new Vector3(270, 0, 0); instance.mesh = newBaseObject; } }
/// <summary> /// Removes the wreck model from an KSC Object. /// </summary> internal static void MangleSquadStatic(StaticInstance instance) { GameObject gameObject = instance.gameObject; gameObject.transform.parent = null; foreach (var component in gameObject.GetComponentsInChildren <MonoBehaviour>(true)) { if (behavioursToRemove.Contains(component.GetType())) { // Log.Normal("Removed: " + bla.GetType().ToString()); UnityEngine.Object.Destroy(component); } } var transforms = gameObject.transform.GetComponentsInChildren <Transform>(true); foreach (var transform in transforms) { if (transform.name.Equals("wreck", StringComparison.InvariantCultureIgnoreCase)) { transform.parent = null; GameObject.Destroy(transform.gameObject); } //if (transform.name.Equals("commnetnode", StringComparison.InvariantCultureIgnoreCase)) //{ // transform.parent = null; // GameObject.Destroy(transform.gameObject); //} } TimeOfDayAnimation dotAnim = gameObject.AddComponent <TimeOfDayAnimation>(); dotAnim.emissives = new List <TimeOfDayAnimation.MaterialProperty>(); foreach (var renderer in gameObject.GetComponentsInChildren <Renderer>(true)) { foreach (Material mat in renderer.materials) { // Log.Normal("found Material: " + gameObject.name +" " + mat.name); foreach (string matname in materialPropertyNames) { if (mat.name.Contains(matname) && mat.HasProperty(dotPoperty)) { //Log.Normal("added Materialproperty to: " + gameObject.name + " "+ mat.name); TimeOfDayAnimation.MaterialProperty mp = new TimeOfDayAnimation.MaterialProperty(); mp.material = mat; mp.propertyName = dotPoperty; mp.isDirty = true; dotAnim.emissives.Add(mp); break; } } } } dotAnim.emissiveTgtColor = dotColor; dotAnim.emissiveColorProperty = dotPoperty; dotAnim.emissivesCurve = dotAnimationCurve; dotAnim.enabled = true; // Lv3 Tracking Dish Animation if (instance.model.name == "SQUAD_LV3_Tracking_Dish") { DishController controller = gameObject.AddComponent <DishController>(); controller.fakeTimeWarp = 1f; controller.maxSpeed = 2 / instance.ModelScale; controller.maxElevation = 90f; controller.minElevation = 5f; DishController.Dish dish = new DishController.Dish(); dish.rotationTransform = gameObject.transform.FindRecursive("Lower Assembly"); dish.elevationTransform = gameObject.transform.FindRecursive("Satellite Dish"); controller.dishes = new DishController.Dish[] { dish }; controller.enabled = true; } //if (instance.model.name == "KSC_Runway_level_2") //{ // SquadStatics.PimpLv2Runway(instance.gameObject); //} }
public static void MangleTrackingDishes() { // StrackingStation LV1 // StaticModel model = StaticDatabase.GetModelByName("KSC_TrackingStation_level_1"); List <DishController.Dish> dishes = new List <DishController.Dish>(); DishController controller = model.prefab.AddComponent <DishController>(); controller.fakeTimeWarp = 1f; controller.maxSpeed = 10f; controller.maxElevation = 20f; controller.minElevation = -70f; foreach (Transform dishTransform in model.prefab.transform.FindAllRecursive("TS_dish")) { Log.Normal("Dish: Found Dish"); DishController.Dish dish = new DishController.Dish(); dish.elevationTransform = dishTransform.FindRecursive("dish_antenna"); //dish.elevationInit = new Quaternion(); dish.rotationTransform = dishTransform.FindRecursive("dish_support"); dish.elevationTransform.parent = dish.rotationTransform; dishes.Add(dish); } controller.dishes = dishes.ToArray(); controller.enabled = true; // StrackingStation LV2 // model = StaticDatabase.GetModelByName("KSC_TrackingStation_level_2"); dishes.Clear(); controller = model.prefab.AddComponent <DishController>(); controller.fakeTimeWarp = 1f; controller.maxSpeed = 10f; controller.maxElevation = 20f; controller.minElevation = -70f; foreach (Transform dishTransform in model.prefab.transform.FindAllRecursive("TS_dish")) { Log.Normal("Dish: Found Dish"); DishController.Dish dish = new DishController.Dish(); dish.elevationTransform = dishTransform.FindRecursive("dish_antenna"); //dish.elevationInit = new Quaternion(); dish.rotationTransform = dishTransform.FindRecursive("dish_support"); dish.elevationTransform.parent = dish.rotationTransform; dishes.Add(dish); } controller.dishes = dishes.ToArray(); controller.enabled = true; // Extract LV3 Dish as Extra Dish model = StaticDatabase.GetModelByName("KSC_TrackingStation_level_3"); Transform dishNorth = model.prefab.transform.FindRecursive("dish_north"); string modelName = "SQUAD_LV3_Tracking_Dish"; StaticModel dishModel = new StaticModel(); dishModel.prefab = dishNorth.gameObject; // dishModel.prefab.transform.parent = null; dishModel.name = modelName; dishModel.path = "KerbalKonstructs/" + modelName; dishModel.configPath = model.path + ".cfg"; dishModel.keepConvex = true; dishModel.title = "TrackingStation Lv3 Dish"; dishModel.mesh = modelName; dishModel.category = "Dish"; dishModel.author = "Squad"; dishModel.manufacturer = "Squad"; dishModel.description = "Squad original TrackingStation Lv3 Dish"; dishModel.isSquad = true; StaticDatabase.RegisterModel(dishModel, dishModel.name); }