示例#1
0
        public void Cannot_Save_Invalid_Changes()
        {
            // Организация - создание имитированного хранилища данных
            Mock <ILadaRepository> mock = new Mock <ILadaRepository>();

            // Организация - создание контроллера
            AdminLadaController controller = new AdminLadaController(mock.Object);

            // Организация - создание объекта Game
            Lada game = new Lada {
                Name = "Test"
            };

            // Организация - добавление ошибки в состояние модели
            controller.ModelState.AddModelError("error", "error");

            // Действие - попытка сохранения товара
            ActionResult result = controller.Edit(game);

            // Утверждение - проверка того, что обращение к хранилищу НЕ производится
            mock.Verify(m => m.SaveLada(It.IsAny <Lada>()), Times.Never());

            // Утверждение - проверка типа результата метода
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
示例#2
0
        public void Cannot_Edit_Nonexistent_Game()
        {
            // Организация - создание имитированного хранилища данных
            Mock <ILadaRepository> mock = new Mock <ILadaRepository>();

            mock.Setup(m => m.Lada).Returns(new List <Lada>
            {
                new Lada {
                    Id = 1, Name = "Игра1"
                },
                new Lada {
                    Id = 2, Name = "Игра2"
                },
                new Lada {
                    Id = 3, Name = "Игра3"
                },
                new Lada {
                    Id = 4, Name = "Игра4"
                },
                new Lada {
                    Id = 5, Name = "Игра5"
                }
            });

            // Организация - создание контроллера
            AdminLadaController controller = new AdminLadaController(mock.Object);

            // Действие
            Lada result = controller.Edit(6).ViewData.Model as Lada;

            // Assert
        }
示例#3
0
        public ViewResult Edit(int Id)
        {
            Lada game = repository.Lada
                        .FirstOrDefault(g => g.Id == Id);

            return(View(game));
        }
示例#4
0
        public void Equals_NonSimilarObjects_ReturnsFalse()
        {
            // Arrange
            Lada ladaFirst = new Lada()
            {
                Brand            = "lada",
                BodyType         = "Universal",
                ClimateControl   = "Opened window",
                EngineType       = "Electrical",
                Model            = "A",
                Power            = 100,
                SalonType        = "Fabric",
                TransmissionType = "Manual",
                Volume           = 5,
            };
            Lada ladaSecond = new Lada()
            {
                Brand            = "ladaa",
                BodyType         = "Universal",
                ClimateControl   = "Opened window",
                EngineType       = "Electrical",
                Model            = "A",
                Power            = 200,
                SalonType        = "Fabric",
                TransmissionType = "Manual",
                Volume           = 5,
            };

            //Act
            bool actual = ladaFirst.Equals(ladaSecond);

            //Assert
            Assert.IsFalse(actual);
        }
示例#5
0
        static void Main(string[] args)
        {
            Lada            lada      = new Lada();
            ICar <EngineV8> vEightCar = lada;

            // инвариантность мы пытаемся привести к более общему
            // как сделать ковариантным ?
            ICar <Engine> somecar = lada;
        }
示例#6
0
        public Lada DeleteLada(int Id)
        {
            Lada dbEntry = context.Lada.Find(Id);

            if (dbEntry != null)
            {
                context.Lada.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
示例#7
0
        public ActionResult Delete(int Id)
        {
            Lada deletedLada = repository.DeleteLada(Id);

            if (deletedLada != null)
            {
                TempData["message"] = string.Format("Машина \"{0}\" была удалена",
                                                    deletedLada.Name);
            }
            return(RedirectToAction("Index"));
        }
示例#8
0
 public ActionResult Edit(Lada game)
 {
     if (ModelState.IsValid)
     {
         repository.SaveLada(game);
         TempData["message"] = string.Format("Изменения в ВИКИНГИ \"{0} {1}\" были сохранены", game.Name, game.Model);
         return(RedirectToAction("Index"));
     }
     else
     {
         // Что-то не так со значениями данных
         return(View(game));
     }
 }
示例#9
0
    public static void MainCat()
    {
        List <Cat>           list    = new List <Cat>();
        IEnumerable <Cat>    cats    = list;
        IEnumerable <Animal> animals = cats;

        object[] objects = new string[3];
        objects[0] = "aaa";
        //objects[1] = 1;
        //objects[2] = new Cat();

        Lada            lada        = new Lada();
        Test3           cat         = new Test3();
        ICar <V8Engine> V8EngineCar = lada;
        ICar <Engine>   engine      = lada;
    }
示例#10
0
        public void ShowCurrentSpeed_NewLada_ReturnsPorscheSpeed()
        {
            //arrange
            const string expected = "10";
            var          test     = new Lada();

            test.SpeedUp();
            test.SpeedUp();
            test.SpeedUp();
            test.SlowDown();
            //act
            var actual = test.ShowCurrentSpeed();

            //assert
            Assert.Equal(expected, actual);
        }
示例#11
0
 public void SaveLada(Lada game)
 {
     if (game.Id == 0)
     {
         context.Lada.Add(game);
     }
     else
     {
         Lada dbEntry = context.Lada.Find(game.Id);
         if (dbEntry != null)
         {
             dbEntry.Name  = game.Name;
             dbEntry.Model = game.Model;
             dbEntry.Price = game.Price;
         }
     }
     context.SaveChanges();
 }
示例#12
0
        public void StorageMethodsTest()
        {
            Lada lada = new Lada()
            {
                Brand            = "lada",
                BodyType         = "Universal",
                ClimateControl   = "Opened window",
                EngineType       = "Electrical",
                Model            = "A",
                Power            = 100,
                SalonType        = "Fabric",
                TransmissionType = "Manual",
                Volume           = 5,
            };

            Assert.IsFalse(storage.IsAvailableProduct(lada));
            storage.AddProductToStorage(lada);
            Assert.IsTrue(storage.IsAvailableProduct(lada));
            storage.RemoveProduct(lada);
            Assert.IsFalse(storage.IsAvailableProduct(lada));
        }
示例#13
0
        public void Can_Save_Valid_Changes()
        {
            // Организация - создание имитированного хранилища данных
            Mock <ILadaRepository> mock = new Mock <ILadaRepository>();

            // Организация - создание контроллера
            AdminLadaController controller = new AdminLadaController(mock.Object);

            // Организация - создание объекта Game
            Lada game = new Lada {
                Name = "Test"
            };

            // Действие - попытка сохранения товара
            ActionResult result = controller.Edit(game);

            // Утверждение - проверка того, что к хранилищу производится обращение
            mock.Verify(m => m.SaveLada(game));

            // Утверждение - проверка типа результата метода
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
示例#14
0
        public void Can_Delete_Valid_Games()
        {
            // Организация - создание объекта Game
            Lada game = new Lada {
                Id = 2, Name = "Игра2"
            };

            // Организация - создание имитированного хранилища данных
            Mock <ILadaRepository> mock = new Mock <ILadaRepository>();

            mock.Setup(m => m.Lada).Returns(new List <Lada>
            {
                new Lada {
                    Id = 1, Name = "Игра1"
                },
                new Lada {
                    Id = 2, Name = "Игра2"
                },
                new Lada {
                    Id = 3, Name = "Игра3"
                },
                new Lada {
                    Id = 4, Name = "Игра4"
                },
                new Lada {
                    Id = 5, Name = "Игра5"
                }
            });

            // Организация - создание контроллера
            AdminLadaController controller = new AdminLadaController(mock.Object);

            // Действие - удаление игры
            controller.Delete(game.Id);

            // Утверждение - проверка того, что метод удаления в хранилище
            // вызывается для корректного объекта Game
            mock.Verify(m => m.DeleteLada(game.Id));
        }
示例#15
0
        public void GetSuitableProducts_test()
        {
            // Arrange
            Lada lada = new Lada()
            {
                Brand            = "lada",
                BodyType         = "Universal",
                ClimateControl   = "Opened window",
                EngineType       = "Electrical",
                Model            = "A",
                Power            = 100,
                SalonType        = "Fabric",
                TransmissionType = "Manual",
                Volume           = 5,
            };

            // Act
            List <Product> list = catalog.GetSuitableProducts(lada);

            //Assert
            Assert.AreEqual(list.Count, 1);
            Assert.AreEqual(list[0], lada);
        }
示例#16
0
        public void ToString_SimilarObjects_ReturnsSuitaleProduct()
        {
            //Arange
            Lada lada = new Lada()
            {
                Brand            = "lada",
                BodyType         = "Universal",
                ClimateControl   = "Opened window",
                EngineType       = "Electrical",
                Model            = "A",
                Power            = 100,
                SalonType        = "Fabric",
                TransmissionType = "Manual",
                Volume           = 5,
            };
            string ladaToString = $"Product: {lada.Brand}, {lada.Model}, {lada.BodyType}, {lada.EngineType}, {lada.ClimateControl}, {lada.SalonType}, V: {lada.Volume}, P: {lada.Power}";

            //Act
            string ToStringActure = lada.ToString();

            //Assert
            Assert.AreEqual(ladaToString, ToStringActure);
        }
示例#17
0
        public void Can_Edit_Game()
        {
            // Организация - создание имитированного хранилища данных
            Mock <ILadaRepository> mock = new Mock <ILadaRepository>();

            mock.Setup(m => m.Lada).Returns(new List <Lada>
            {
                new Lada {
                    Id = 1, Name = "Игра1"
                },
                new Lada {
                    Id = 2, Name = "Игра2"
                },
                new Lada {
                    Id = 3, Name = "Игра3"
                },
                new Lada {
                    Id = 4, Name = "Игра4"
                },
                new Lada {
                    Id = 5, Name = "Игра5"
                }
            });

            // Организация - создание контроллера
            AdminLadaController controller = new AdminLadaController(mock.Object);

            // Действие
            Lada game1 = controller.Edit(1).ViewData.Model as Lada;
            Lada game2 = controller.Edit(2).ViewData.Model as Lada;
            Lada game3 = controller.Edit(3).ViewData.Model as Lada;

            // Assert
            Assert.AreEqual(1, game1.Id);
            Assert.AreEqual(2, game2.Id);
            Assert.AreEqual(3, game3.Id);
        }