public void SizesDeactivatedEvent_should_deactivate_all_stockItems()
        {
            var dateCreated = new DateTime(2011, 2, 15);

            var stockItems = new System.Collections.Generic.List<StockItem>()
            {
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Gadget", "Small", dateCreated, "*****@*****.**"),
            };

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            var @event = new SizesDeactivatedEvent("Widget");

            deactiveStockItemsOnSizesDeactivatedEvent.Handle(@event);

            stockItems[0].IsActive.ShouldBeFalse();
            stockItems[0].History[1].DateTime.ShouldEqual(now);
            stockItems[0].History[1].User.ShouldEqual(user);

            stockItems[1].IsActive.ShouldBeFalse();
            stockItems[2].IsActive.ShouldBeFalse();
            stockItems[3].IsActive.ShouldBeTrue();
        }
        public void Handle_should_update_product_names_on_stockItems()
        {
            var dateCreated = new DateTime(2011, 2, 15);

            var stockItems = new System.Collections.Generic.List<StockItem>()
            {
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Medium", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Large", dateCreated, "*****@*****.**"),
                StockItem.Create("Gadget", "Small", dateCreated, "*****@*****.**"),
            };

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            var @event = new ProductNameChangedEvent("Widget", "Widget_Plus");

            handler.Handle(@event);

            stockItems[0].ProductName.ShouldEqual("Widget_Plus");
            stockItems[1].ProductName.ShouldEqual("Widget_Plus");
            stockItems[2].ProductName.ShouldEqual("Widget_Plus");
            stockItems[3].ProductName.ShouldEqual("Gadget");

            stockItems[2].History[1].Description.ShouldEqual("Product name changed from 'Widget' to 'Widget_Plus'");
        }
Пример #3
0
        public void Can_Remove_Product_From_Cart()
        {
            // Arrange: Set up a mock repository with two products
            var mockProductsRepos = new Moq.Mock<IProductsRepository>();
            var products = new System.Collections.Generic.List<Product> {
            new Product { ProductID = 14, Name = "Much Ado About Nothing" },
            new Product { ProductID = 27, Name = "The Comedy of Errors" },
            };
            mockProductsRepos.Setup(x => x.Products)
                         .Returns(products.AsQueryable());
            var cart = new Cart();
            cart.AddItem(products[1], 2); // 2x Comedy of Errors
            cart.AddItem(products[0], 3); // 3x Much Ado
            var controller = new CartController(mockProductsRepos.Object, null);

            // Act: Try removing Much Ado
            RedirectToRouteResult result =
            controller.RemoveFromCart(cart, 14, "someReturnUrl");

            // Assert
            Assert.AreEqual(1, cart.Lines.Count);
            Assert.AreEqual("The Comedy of Errors", cart.Lines[0].Product.Name);
            Assert.AreEqual(2, cart.Lines[0].Quantity);

            // Check that the visitor was redirected to the cart display screen
            Assert.AreEqual("Index", result.RouteValues["action"]);
            Assert.AreEqual("someReturnUrl", result.RouteValues["returnUrl"]);
        }
        public void OverlappingIdentifierFails()
        {
            // Assert
            var start = new DateTime(1999, 1, 1);
            var finish = new DateTime(2020, 12, 31);
            var validity = new DateRange(start, finish);
            var system = new SourceSystem { Name = "Test" };
            var expected = new SourceSystemMapping { System = system, MappingValue = "1", Validity = validity };
            var list = new System.Collections.Generic.List<SourceSystemMapping> { expected };
            var repository = new Mock<IRepository>();
            repository.Setup(x => x.Queryable<SourceSystemMapping>()).Returns(list.AsQueryable());

            var identifier = new EnergyTrading.Mdm.Contracts.MdmId
            {
                SystemName = "Test",
                Identifier = "1",
                StartDate = start.AddHours(5),
                EndDate = start.AddHours(10)
            };

            var request = new AmendMappingRequest() { EntityId = 1, Mapping = identifier, MappingId = 1 };

            var rule = new AmendMappingNoOverlappingRule<SourceSystemMapping>(repository.Object);

            // Act
            var result = rule.IsValid(request);

            // Assert
            repository.Verify(x => x.Queryable<SourceSystemMapping>());
            Assert.IsFalse(result, "Rule failed");
        }
Пример #5
0
        public void SizesDeactivatedEvent_should_deactivate_all_stockItems()
        {
            var dateCreated = new DateTime(2011, 2, 15);

            var stockItems = new System.Collections.Generic.List <StockItem>()
            {
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Gadget", "Small", dateCreated, "*****@*****.**"),
            };

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            var @event = new SizesDeactivatedEvent("Widget");

            deactiveStockItemsOnSizesDeactivatedEvent.Handle(@event);

            stockItems[0].IsActive.ShouldBeFalse();
            stockItems[0].History[1].DateTime.ShouldEqual(now);
            stockItems[0].History[1].User.ShouldEqual(user);

            stockItems[1].IsActive.ShouldBeFalse();
            stockItems[2].IsActive.ShouldBeFalse();
            stockItems[3].IsActive.ShouldBeTrue();
        }
Пример #6
0
        /*
         * public static IQueryable<T>
         *  OrderBy1<T>(this IQueryable<T> source, string order)
         * {
         *  if (order == null)
         *      return source;
         *
         *  source = source.OrderBy(x => x.ToString());
         *
         *  string[] sortExpressions = order.Split(",");
         *
         *
         *
         * }
         */

        // https://stackoverflow.com/questions/41244/dynamic-linq-orderby-on-ienumerablet/233505#233505
        private static void Test()
        {
            System.Collections.Generic.List <string> ls =
                new System.Collections.Generic.List <string>();

            ls.AsQueryable().OrderBy("a, b asc, c desc");
        } // End Sub Test
        public void SystemPresentPasses()
        {
            // Arrange
            var system = new SourceSystem {
                Name = "Test"
            };
            var systemList = new System.Collections.Generic.List <SourceSystem> {
                system
            };
            var repository = new Mock <IRepository>();

            repository.Setup(x => x.Queryable <SourceSystem>()).Returns(systemList.AsQueryable());

            var identifier = new EnergyTrading.Mdm.Contracts.MdmId {
                SystemName = "Test", Identifier = "1"
            };

            var rule = new MdmIdSystemExistsRule(repository.Object);

            // Act
            var result = rule.IsValid(identifier);

            // Assert
            repository.Verify(x => x.Queryable <SourceSystem>());
            Assert.IsTrue(result, "Rule failed");
        }
        public void OrderDispatchedEvent_should_work_with_default_sizes()
        {
            // create the event
            var order = new Order(345);

            order.Lines.Add(new OrderLine("Widget", "-", 2));
            var @event = new OrderDispatchedEvent(order);

            // create existing stock items
            var dateCreated = new DateTime(2011, 2, 15);
            var stockItems  = new System.Collections.Generic.List <StockItem>()
            {
                StockItem.Create("Widget", "-", dateCreated, "*****@*****.**"),
            };

            // create some initial stock
            stockItems[0].ReceiveStock(10, dateCreated, user);
            stockItems[0].Deactivate(dateCreated, user);

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            // execute
            decrementStockLevelOnOrderDispatchedEvent.Handle(@event);

            // assert
            stockItems[0].Level.ShouldEqual(8); // 10-2 = 8
        }
        public void Can_Remove_Product_From_Cart()
        {
            // Arrange: Set up a mock repository with two products
            var mockProductsRepos = new Moq.Mock <IProductsRepository>();
            var products          = new System.Collections.Generic.List <Product> {
                new Product {
                    ProductID = 14, Name = "Much Ado About Nothing"
                },
                new Product {
                    ProductID = 27, Name = "The Comedy of Errors"
                },
            };

            mockProductsRepos.Setup(x => x.Products)
            .Returns(products.AsQueryable());
            var cart = new Cart();

            cart.AddItem(products[1], 2); // 2x Comedy of Errors
            cart.AddItem(products[0], 3); // 3x Much Ado
            var controller = new CartController(mockProductsRepos.Object, null);

            // Act: Try removing Much Ado
            RedirectToRouteResult result =
                controller.RemoveFromCart(cart, 14, "someReturnUrl");

            // Assert
            Assert.AreEqual(1, cart.Lines.Count);
            Assert.AreEqual("The Comedy of Errors", cart.Lines[0].Product.Name);
            Assert.AreEqual(2, cart.Lines[0].Quantity);

            // Check that the visitor was redirected to the cart display screen
            Assert.AreEqual("Index", result.RouteValues["action"]);
            Assert.AreEqual("someReturnUrl", result.RouteValues["returnUrl"]);
        }
Пример #10
0
        public void Handle_should_update_product_names_on_stockItems()
        {
            var dateCreated = new DateTime(2011, 2, 15);

            var stockItems = new System.Collections.Generic.List <StockItem>()
            {
                StockItem.Create("Widget", "Small", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Medium", dateCreated, "*****@*****.**"),
                StockItem.Create("Widget", "Large", dateCreated, "*****@*****.**"),
                StockItem.Create("Gadget", "Small", dateCreated, "*****@*****.**"),
            };

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            var @event = new ProductNameChangedEvent("Widget", "Widget_Plus");

            handler.Handle(@event);

            stockItems[0].ProductName.ShouldEqual("Widget_Plus");
            stockItems[1].ProductName.ShouldEqual("Widget_Plus");
            stockItems[2].ProductName.ShouldEqual("Widget_Plus");
            stockItems[3].ProductName.ShouldEqual("Gadget");

            stockItems[2].History[1].Description.ShouldEqual("Product name changed from 'Widget' to 'Widget_Plus'");
        }
        public void OrderDispatchedEvent_should_work_with_default_sizes()
        {
            // create the event
            var order = new Order(345);
            order.Lines.Add(new OrderLine("Widget", "-", 2));
            var @event = new OrderDispatchedEvent(order);

            // create existing stock items
            var dateCreated = new DateTime(2011, 2, 15);
            var stockItems = new System.Collections.Generic.List<StockItem>()
            {
                StockItem.Create("Widget", "-", dateCreated, "*****@*****.**"),
            };

            // create some initial stock
            stockItems[0].ReceiveStock(10, dateCreated, user);
            stockItems[0].Deactivate(dateCreated, user);

            stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable();

            // execute
            decrementStockLevelOnOrderDispatchedEvent.Handle(@event);

            // assert
            stockItems[0].Level.ShouldEqual(8); // 10-2 = 8
        }
Пример #12
0
        public void ReadOnlyCollection()
        {
            var l = new System.Collections.Generic.List <Model>();

            l.Add(new Model()
            {
                Action = "bla"
            });
            var r = l.AsQueryable();
            var s = r.Single(p => p.Action == "bla");

            s.ModelName = "Yea";
        }
Пример #13
0
        public void PagingShouldWithQueryableList()
        {
            const int currentPage = 0;
            const int records     = 30;

            var paging = new Paging <string>(_persons.AsQueryable(), currentPage, _pageSize);

            Assert.AreEqual(currentPage, paging.CurrentPage);
            Assert.AreEqual(8, paging.Count);
            Assert.AreEqual(4, paging.PageCount);
            Assert.AreEqual(_pageSize, paging.PageSize);
            Assert.AreEqual(records, (int)paging.Records);
            Assert.AreEqual(0, paging.Skip);
        }
Пример #14
0
        public void BindTo_should_return_the_correct_select_list()
        {
            var ids = new[] {2, 3};
            var loopups = new System.Collections.Generic.List<ComboForLookup>()
            {
                new ComboForLookup {Id = 1, Name = "one"},
                new ComboForLookup {Id = 2, Name = "two"},
                new ComboForLookup {Id = 3, Name = "three"},
                new ComboForLookup {Id = 4, Name = "four"},
            };
            repository.Stub(x => x.GetAll()).Return(loopups.AsQueryable());

            var result = comboFor.Multiple().BoundTo("PropertyName", ids);
            //Console.Out.WriteLine("result = {0}", result);
            result.ShouldEqual(expectedSelectList);
        }
        public void SystemMissingFails()
        {
            // Assert
            var systemList = new System.Collections.Generic.List<SourceSystem>();
            var repository = new Mock<IRepository>();
            repository.Setup(x => x.Queryable<SourceSystem>()).Returns(systemList.AsQueryable());

            var identifier = new EnergyTrading.Mdm.Contracts.MdmId { SystemName = "Test", Identifier = "1" };

            var rule = new MdmIdSystemExistsRule(repository.Object);

            // Act
            var result = rule.IsValid(identifier);

            // Assert
            repository.Verify(x => x.Queryable<SourceSystem>());
            Assert.IsFalse(result, "Rule failed");
        }
Пример #16
0
        public void OverlappingIdentifierFails()
        {
            // Assert
            var start    = new DateTime(1999, 1, 1);
            var finish   = new DateTime(2020, 12, 31);
            var validity = new DateRange(start, finish);
            var system   = new SourceSystem {
                Name = "Test"
            };
            var expected = new SourceSystemMapping {
                System = system, MappingValue = "1", Validity = validity
            };
            var list = new System.Collections.Generic.List <SourceSystemMapping> {
                expected
            };
            var repository = new Mock <IRepository>();

            repository.Setup(x => x.Queryable <SourceSystemMapping>()).Returns(list.AsQueryable());

            var identifier = new EnergyTrading.Mdm.Contracts.MdmId
            {
                SystemName = "Test",
                Identifier = "1",
                StartDate  = start.AddHours(5),
                EndDate    = start.AddHours(10)
            };

            var request = new AmendMappingRequest()
            {
                EntityId = 1, Mapping = identifier, MappingId = 1
            };

            var rule = new AmendMappingNoOverlappingRule <SourceSystemMapping>(repository.Object);

            // Act
            var result = rule.IsValid(request);

            // Assert
            repository.Verify(x => x.Queryable <SourceSystemMapping>());
            Assert.IsFalse(result, "Rule failed");
        }
Пример #17
0
        public void Map <TMapping>()
            where TMapping : class, IEntityMapping, new()
        {
            // Arrange
            var system = new SourceSystem {
                Name = "Test"
            };
            var systemList = new System.Collections.Generic.List <SourceSystem> {
                system
            };
            var repository = new Mock <IRepository>();

            repository.Setup(x => x.Queryable <SourceSystem>()).Returns(systemList.AsQueryable());

            var start  = new DateTime(2010, 1, 1);
            var end    = new DateTime(2012, 12, 31);
            var source = new EnergyTrading.Mdm.Contracts.MdmId {
                MappingId = 1, SystemName = "Test", Identifier = "1", StartDate = start, EndDate = end
            };

            var expected = new TMapping
            {
                System       = system,
                MappingValue = "1",
                Validity     = new DateRange(start, end)
            };

            expected.MappingId = 1;

            var mapper = new MappingMapper <TMapping>(repository.Object);

            // Act
            var candidate = mapper.Map(source);

            // Assert
            Check(expected, candidate);
        }
        public void Dada_a_consulta_Deve_retornar_nome_apenas_do_caça_rato()
        {
            var result = _players.AsQueryable().Where(PlayerQueries.GetAll("Ronaldo"));

            Assert.AreEqual(2, result.Count());
        }
Пример #19
0
        /// <inheritdoc />
        public async Task <IQueryable <T> > GetAll()
        {
            System.Collections.Generic.List <T> result = await _dbSet.ToListAsync();

            return(result.AsQueryable());
        }