public void GetTrimNameById_ShouldReturnCorrectValue()
        {
            //Arrange
            var sut = new TrimRepository(_mockContext.Object);
            var id  = 3;
            //Act
            var returnedValue = sut.GetTrimById(id);

            //Assert
            Assert.Equal(GetMockTrims().Where(x => x.Id == id).FirstOrDefault().TrimName, returnedValue);
        }
        public void ManageTrim_CarObj_IsNull()
        {
            //Arrange
            var sut = new TrimRepository(_mockContext.Object);

            //Act
            var returnedValue = sut.ManageTrim(null);

            //Assert
            Assert.Equal(0, returnedValue);
        }
        public void ManageTrim_CarObj_IsNotNull_Edit_ShouldCallCorrectMethods()
        {
            //Arrange
            var sut = new TrimRepository(_mockContext.Object);

            //Act
            _ = sut.ManageTrim(new Trim()
            {
                TrimName = "trim1"
            });

            //Assert
            _mockContext.Verify(x => x.Trims.Add(It.IsAny <Trim>()), Times.Never);
            _mockContext.Verify(x => x.SaveChanges(), Times.Once);
        }
        public void GetAllModelsByMake_ShouldReturnCorrectValue()
        {
            //Arrange
            var sut = new TrimRepository(_mockContext.Object);

            var expectedTrims = new List <Trim>()
            {
                new Trim()
                {
                    Id = 2, TrimName = "trim2"
                },
            };

            //Act
            var returnedValue = sut.GetAllTrimsByModel(2);

            //Assert
            Assert.IsType <List <Trim> >(returnedValue);
            Assert.Equal(expectedTrims.Count, returnedValue.Count);
            Assert.Equal(expectedTrims, returnedValue, new CarTrimComparator());
        }