Exemplo n.º 1
0
        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);
        }
Exemplo n.º 4
0
        // 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");
        }
Exemplo n.º 8
0
        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);
        }