public void Count_ReturnsNumberOfElements()
        {
            var subject = new InMemoryRepository <RepositorySubject, int>(1, 2);

            Assert.That(subject.Count(), Is.EqualTo(2));
            Assert.That(subject.Count(e => true), Is.EqualTo(2));
        }
        public void CreateAuthor_ShouldCreateValidAuthor()
        {
            // Fixture setup
            var authorRepo    = new InMemoryRepository <Author>();
            var authorService = new AuthorApplicationService(authorRepo);

            var expected = new Author()
            {
                FirstName = "blah",
                LastName  = "fdlskhgdsa",
                Synopsis  = "fhlkhdfaslkhjgoiuwer"
            };

            // Exercise the SUT (system under test)
            authorService.CreateAuthor(
                expected.FirstName,
                expected.LastName,
                expected.Synopsis);

            // State verification
            var actual = authorRepo.AsQueryable().FirstOrDefault();

            Assert.Equal(1, authorRepo.Count());
            Assert.Equal(expected.FirstName, actual.FirstName);
            Assert.Equal(expected.LastName, actual.LastName);
            Assert.Equal(expected.Synopsis, actual.Synopsis);
        }
        public void TestCreate_ShouldReturnValidPizzaObject()
        {
            // Setup Fixture
            var _pizzaRepo = new InMemoryRepository <Pizza>();
            var _sizeRepo  = new InMemoryRepository <Size>();

            _sizeRepo.Add(new Size()
            {
                Description = "Familiar", Price = 21m
            });

            var _pizzaService = new PizzaAppService(_pizzaRepo);

            var expected = new Pizza()
            {
                Id       = 1,
                Name     = "Big Ozzi",
                Size     = _sizeRepo.Get(1),
                Toppings = new List <Topping>()
                {
                    new Topping {
                        Name = "Cheese", Price = 3.5m
                    }
                }
            };

            // Execute SUT

            var actual = _pizzaService.Create(expected.Name, expected.Size, expected.Toppings);

            // Verify Outcomes

            Assert.Equal(1, _pizzaRepo.Count());
            ArePizzasSame(expected, actual);
        }
        public void CreateProduct_ShouldCreateValidProduct()
        {
            var productRepo    = new InMemoryRepository <Product>();
            var productService = new ProductService(productRepo);


            //Fixture Setup
            var expected = new Product()
            {
                CategoryId  = 1,
                ProductName = "Product test",
                Description = "this is description",
                Cost        = 12,
                Price       = 15,
                VendorId    = 1
            };

            //Exercise the SUT (system under test)

            productService.CreateProduct(expected.CategoryId, expected.ProductName, expected.Description, expected.Cost.Value,
                                         expected.Price.Value, expected.VendorId);

            // State Verification
            var actual = productRepo.AsQueryable().FirstOrDefault();

            Assert.Equal(1, productRepo.Count());
            Assert.Equal(expected.CategoryId, actual.CategoryId);
            Assert.Equal(expected.ProductName, actual.ProductName);
            Assert.Equal(expected.Description, actual.Description);
            Assert.Equal(expected.Cost, actual.Cost);
            Assert.Equal(expected.Price, actual.Price);
            Assert.Equal(expected.VendorId, actual.VendorId);
        }
Beispiel #5
0
        public void UpdateCustomer_ShouldUpdateValidCustomer()
        {
            //Fixture Setup
            var customer = new Customer()
            {
                CustomerCode  = "1002",
                FirstName     = "Yang",
                MiddleName    = "Ling",
                LastName      = "Yiao",
                DateOfBirth   = DateTime.Now,
                Gender        = "Female",
                StreetAddress = "6 Kimbery Ave",
                Suburb        = "Chatswood",
                PostCode      = "2065",
                State         = "Sydney",
                PhoneNo       = "4325345435345"
            };

            var customerRepo = new InMemoryRepository <Customer>();

            customerRepo.Add(customer);

            var customerService = new CustomerService(customerRepo);

            var expected = new Customer()
            {
                CustomerCode  = "1001",
                FirstName     = "Ken",
                MiddleName    = "Yew",
                LastName      = "Hang",
                DateOfBirth   = DateTime.Now,
                Gender        = "Male",
                StreetAddress = "5 Kimbery Ave",
                Suburb        = "Lane Cove",
                PostCode      = "2066",
                State         = "Sydney",
                PhoneNo       = "4325435345"
            };

            //Exercise the SUT (system under test)
            customerService.UpdateCustomer(customer.Id, expected.DateOfBirth, expected.FirstName, expected.LastName,
                                           expected.MiddleName, expected.Gender, expected.PhoneNo, expected.StreetAddress, expected.PostCode,
                                           expected.Suburb, expected.State);

            // State Verification
            var actual = customerRepo.Get(customer.Id);

            Assert.Equal(1, customerRepo.Count());
            Assert.Equal(expected.FirstName, actual.FirstName);
            Assert.Equal(expected.LastName, actual.LastName);
            Assert.Equal(expected.DateOfBirth, actual.DateOfBirth);
            Assert.Equal(expected.Gender, actual.Gender);
            Assert.Equal(expected.StreetAddress, actual.StreetAddress);
            Assert.Equal(expected.Suburb, actual.Suburb);
            Assert.Equal(expected.State, actual.State);
            Assert.Equal(expected.PostCode, actual.PostCode);
            Assert.Equal(expected.PhoneNo, actual.PhoneNo);
            Assert.Equal(expected.CustomerCode, actual.CustomerCode);
        }
        public void Add_AlreadyExisting_AddThemNonetheless()
        {
            var subject = new InMemoryRepository <RepositorySubject, int>(1, 2);

            subject.Add(1);
            Assert.That(subject.Count(), Is.EqualTo(3));
            Assert.That(subject.FindAll(e => e.Id == 1).Count, Is.EqualTo(2));
        }
        public void Add_AddsItems()
        {
            var subject = new InMemoryRepository <RepositorySubject, int>(1, 2);

            subject.Add(3);
            Assert.That(subject.Count(), Is.EqualTo(3));
            Assert.That(subject.FindOne(e => e.Id == 3), Is.Not.Null);
        }
        public void Remove_NotAdded_NoOp()
        {
            var subject           = new InMemoryRepository <RepositorySubject, int>(1, 2);
            var nonExistingEntity = new RepositorySubject(3);

            subject.Remove(nonExistingEntity);
            Assert.That(subject.Count(), Is.EqualTo(2));
        }
        public void Remove_NotAddedButSameId_RemovesThem()
        {
            var subject        = new InMemoryRepository <RepositorySubject, int>(1, 2);
            var existingEntity = new RepositorySubject(1);

            subject.Remove(existingEntity);
            Assert.That(subject.Count(), Is.EqualTo(1));
            Assert.That(subject.Find(1), Is.Empty);
        }
        public void Ctor_NoInitialData_Empty()
        {
            var subject = new InMemoryRepository <RepositorySubject, int>();

            Assert.That(subject.Count(), Is.EqualTo(0));
            Assert.That(subject.Count(s => true), Is.EqualTo(0));
            Assert.That(subject.Find(), Is.Empty);
            Assert.That(subject.Find(s => true), Is.Empty);
            Assert.That(subject.Find(0), Is.Empty);
            Assert.That(subject.FindAll(), Is.Empty);
            Assert.That(subject.FindAll(s => true), Is.Empty);

            Assert.That(() => subject.FindOne(0), Throws.InvalidOperationException);
            Assert.That(() => subject.FindOne(s => true), Throws.InvalidOperationException);

            RepositorySubject found;

            Assert.That(subject.TryFindOne(s => true, out found), Is.False);
            Assert.That(found, Is.Null);
        }
Beispiel #11
0
        public void CreateCustomer_ShouldCreateValidCustomer()
        {
            var customerRepo    = new InMemoryRepository <Customer>();
            var customerService = new CustomerService(customerRepo);


            //Fixture Setup
            var expected = new Customer()
            {
                CustomerCode  = "1001",
                FirstName     = "Ken",
                MiddleName    = "Yew",
                LastName      = "Hang",
                DateOfBirth   = DateTime.Now,
                Gender        = "Male",
                StreetAddress = "5 Kimbery Ave",
                Suburb        = "Lane Cove",
                PostCode      = "2066",
                State         = "Sydney",
                PhoneNo       = "4325435345"
            };

            //Exercise the SUT (system under test)
            //customerService.CreateCustomer(expected.CustomerCode, expected.DateOfBirth, expected.FirstName,
            //    expected.LastName, expected.MiddleName, expected.Gender, expected.PhoneNo, expected.StreetAddress,
            //    expected.PostCode, expected.Suburb, expected.State);

            // State Verification
            var actual = customerRepo.AsQueryable().FirstOrDefault();

            Assert.Equal(1, customerRepo.Count());
            Assert.Equal(expected.FirstName, actual.FirstName);
            Assert.Equal(expected.LastName, actual.LastName);
            Assert.Equal(expected.DateOfBirth, actual.DateOfBirth);
            Assert.Equal(expected.Gender, actual.Gender);
            Assert.Equal(expected.StreetAddress, actual.StreetAddress);
            Assert.Equal(expected.Suburb, actual.Suburb);
            Assert.Equal(expected.State, actual.State);
            Assert.Equal(expected.PostCode, actual.PostCode);
            Assert.Equal(expected.PhoneNo, actual.PhoneNo);
            Assert.Equal(expected.CustomerCode, actual.CustomerCode);
        }
        public void UpdateAuthor_ShouldUpdateValidAuthor()
        {
            // Fixture setup
            var author = new Author()
            {
                FirstName = "fhlkhsdgasd",
                LastName  = "klhlkhjsdg",
                Synopsis  = "zlkhzoiutqwp"
            };

            var authorRepo = new InMemoryRepository <Author>();

            authorRepo.Add(author);
            var authorService = new AuthorApplicationService(authorRepo);

            var expected = new Author()
            {
                FirstName = "blah",
                LastName  = "fdlskhgdsa",
                Synopsis  = "fhlkhdfaslkhjgoiuwer"
            };

            // Exercise the SUT (system under test)
            authorService.UpdateAuthor(
                author.Id,
                expected.FirstName,
                expected.LastName,
                expected.Synopsis);

            // State verification
            var actual = authorRepo.Get(author.Id);

            Assert.Equal(1, authorRepo.Count());
            Assert.Equal(expected.FirstName, actual.FirstName);
            Assert.Equal(expected.LastName, actual.LastName);
            Assert.Equal(expected.Synopsis, actual.Synopsis);
        }
        public void Count_PerformsFiltering()
        {
            var subject = new InMemoryRepository <RepositorySubject, int>(1, 2);

            Assert.That(subject.Count(e => e.Property.Equals("2")), Is.EqualTo(1));
        }