public void CreateGuitarTestIncorrect() { var model = new Guitars(); model.Id = 0; model.Name = "Guitar Test"; model.BodyID = 1; model.NeckID = 1; model.BridgeID = 1; model.PickupID = 1; model.StartDate = Convert.ToDateTime("01/10/2017"); model.PaintDate = Convert.ToDateTime("01/10/2017"); model.TestDate = Convert.ToDateTime("01/10/2017"); model.FinishDate = Convert.ToDateTime("01/10/2017"); var repository = Substitute.For<IGuitarRepositorio>(); var service = new GuitarService(repository); try { service.Create(model); Assert.Fail("the validation is not complete"); } catch (ApplicationException ex) { } //Assert repository.DidNotReceive().Create(model); }
public void Get_Guitars_By_NumberStrings_Range() { var guitars = new List <Guitar>() { new Guitar { Id = 1, Name = "Fender Appender", Type = "Electric", NumberOfStrings = 6 }, new Guitar { Id = 4, Name = "Bobby Gibson", Type = "Electric", NumberOfStrings = 7 }, new Guitar { Id = 3, Name = "Acoustic Guitar", Type = "Acoustic", NumberOfStrings = 6 }, new Guitar { Id = 2, Name = "Bass with Face", Type = "Bass", NumberOfStrings = 4 } }.AsQueryable(); var mockDbSet = new Mock <DbSet <Guitar> >(); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Provider).Returns(guitars.Provider); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Expression).Returns(guitars.Expression); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.ElementType).Returns(guitars.ElementType); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.GetEnumerator()).Returns(guitars.GetEnumerator); var mockContext = new Mock <RentalContext>(); mockContext.Setup(g => g.Guitars).Returns(mockDbSet.Object); var service = new GuitarService(mockContext.Object); var queryResults = service.GetByNumberStrings(4, 6); queryResults.Should().HaveCount(3); queryResults.Should().Contain(g => g.Name == "Fender Appender"); queryResults.Should().Contain(g => g.Name == "Acoustic Guitar"); queryResults.Should().Contain(g => g.Name == "Bass with Face"); }
public void Add_New_Guitar_To_Db() { var mockDbSet = new Mock <DbSet <Guitar> >(); var mockContext = new Mock <RentalContext>(); mockContext.Setup(g => g.Guitars).Returns(mockDbSet.Object); var svc = new GuitarService(mockContext.Object); svc.Add(new Guitar()); mockContext.Verify(a => a.Add(It.IsAny <Guitar>()), Times.Once); mockContext.Verify(s => s.SaveChanges(), Times.Once); }
// the "get 'er done" module... // The 'Old way' has 3 'new' statements. Yikes. // The 'New way' has none. Sweet! private static void Main(string[] args) { Console.WriteLine("Old way..."); var gserve = new GuitarService(new Gibson(), new Log()); gserve.Play(); Console.WriteLine("\nNew way..."); InitializeDiContainer(); IOCContainer.Instance.Get <IGuitarService>().Play(); Console.ReadLine(); }
public void Get_NumberOfStrings() { var guitars = new List <Guitar>() { new Guitar { Id = 1, Name = "Fender Appender", Type = "Electric", Style = "Lagoon Blue", NumberOfStrings = 6 }, new Guitar { Id = 4, Name = "Pinky", Type = "Electric", Style = "Pink", NumberOfStrings = 5 }, new Guitar { Id = 3, Name = "Acoustic Guitar", Type = "Acoustic", Style = "Lagoon Blue", NumberOfStrings = 6 } }.AsQueryable(); var mockDbSet = new Mock <DbSet <Guitar> >(); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Provider).Returns(guitars.Provider); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Expression).Returns(guitars.Expression); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.ElementType).Returns(guitars.ElementType); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.GetEnumerator()).Returns(guitars.GetEnumerator); var mockContext = new Mock <RentalContext>(); mockContext.Setup(g => g.Guitars).Returns(mockDbSet.Object); var service = new GuitarService(mockContext.Object); var style = service.GetNumberStrings(4); style.Should().Be(5); }
public void Get_Guitars_By_Style() { var guitars = new List <Guitar>() { new Guitar { Id = 1, Name = "Fender Appender", Type = "Electric", Style = "Lagoon Blue" }, new Guitar { Id = 4, Name = "Bobby Gibson", Type = "Electric", Style = "Lagoon Blue" }, new Guitar { Id = 3, Name = "Acoustic Guitar", Type = "Acoustic", Style = "Lagoon Blue" } }.AsQueryable(); var mockDbSet = new Mock <DbSet <Guitar> >(); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Provider).Returns(guitars.Provider); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Expression).Returns(guitars.Expression); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.ElementType).Returns(guitars.ElementType); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.GetEnumerator()).Returns(guitars.GetEnumerator); var mockContext = new Mock <RentalContext>(); mockContext.Setup(g => g.Guitars).Returns(mockDbSet.Object); var service = new GuitarService(mockContext.Object); var queryResults = service.GetByStyle("Lagoon Blue"); queryResults.Should().HaveCount(3); queryResults.Should().Contain(g => g.Name == "Fender Appender"); queryResults.Should().Contain(g => g.Name == "Bobby Gibson"); queryResults.Should().Contain(g => g.Name == "Acoustic Guitar"); }
public void Get_Guitars_By_Id() { var guitars = new List <Guitar>() { new Guitar { Id = 1, Name = "Fender Appender" }, new Guitar { Id = 2, Name = "Bass with Face" }, new Guitar { Id = 3, Name = "Acoustic Guitar" } }.AsQueryable(); var mockDbSet = new Mock <DbSet <Guitar> >(); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Provider).Returns(guitars.Provider); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.Expression).Returns(guitars.Expression); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.ElementType).Returns(guitars.ElementType); mockDbSet.As <IQueryable <Guitar> >().Setup(p => p.GetEnumerator()).Returns(guitars.GetEnumerator); var mockContext = new Mock <RentalContext>(); mockContext.Setup(g => g.Guitars).Returns(mockDbSet.Object); var service = new GuitarService(mockContext.Object); var guitar = service.Get(2); guitar.Name.Should().Be("Bass with Face"); }
public void CreateGuitarTest() { var model = new Guitars(); model.Id = 1; model.Name = "Guitar Test"; model.BodyID = 1; model.NeckID = 1; model.BridgeID = 1; model.PickupID = 1; model.StartDate = Convert.ToDateTime("01/10/2017"); model.PaintDate = Convert.ToDateTime("10/10/2017"); model.TestDate = Convert.ToDateTime("15/10/2017"); model.FinishDate = Convert.ToDateTime("27/10/2017"); var repository = Substitute.For<IGuitarRepositorio>(); var service = new GuitarService(repository); service.Create(model); //Assert repository.Received().Create(model); }