Ejemplo n.º 1
0
        public override void Run(object context)
        {
            DbController dbc = new DbController(Connection);

            try
            {
                Order   order   = dbc.GetRandomOrder();
                Product product = dbc.GetRandomProduct();

                OrderDetail ordDetail = (OrderDetail)ObjectFactory.Create(ObjectType.OrderDetail);
                ordDetail.OrderId   = order.OrderId;
                ordDetail.ProductId = product.ProductId;
                dbc.AddOrderDetail(ordDetail);

                OrderDetail result = dbc.GetOrderDetail(ordDetail.OrderId, ordDetail.ProductId);
                if (result == null)
                {
                    Fail("Failed to insert new OrderDetail record");
                    return;
                }
                else if (!ordDetail.Equals(result))
                {
                    Fail("Inserted OrderDetail record having inconsistent data");
                    return;
                }

                ordDetail           = (OrderDetail)ObjectFactory.Create(ObjectType.OrderDetail);
                ordDetail.OrderId   = result.OrderId;
                ordDetail.ProductId = result.ProductId;
                dbc.UpdateOrderDetail(ordDetail);

                result = dbc.GetOrderDetail(ordDetail.OrderId, ordDetail.ProductId);
                if (!ordDetail.Equals(result))
                {
                    Fail("Failed to update OrderDetail record");
                    return;
                }

                dbc.DeleteOrderDetail(ordDetail.OrderId, ordDetail.ProductId);
                if (dbc.GetOrderDetail(ordDetail.OrderId, ordDetail.ProductId) != null)
                {
                    Fail("Failed to delete OrderDetail record");
                }
            }
            catch (Exception e)
            {
                Fail(e);
            }
            finally
            {
                base.Run(context);
            }
        }
Ejemplo n.º 2
0
        public void VO_Equals()
        {
            var orderDetail = new OrderDetail {
                ProductId = 10, Cost = 100, Count = 2
            };

            orderDetail.Equals(new OrderDetail {
                ProductId = 10, Cost = 100, Count = 2
            }).ShouldBeTrue();
            new OrderDetail {
                ProductId = 10, Cost = 100, Count = 2
            }.Equals(new CertDetail {
                ProductId = 10, Cost = 100, Count = 2
            }).ShouldBeFalse();
            new OrderDetail {
                ProductId = 10, Cost = 100, Count = 2
            }.Equals(new OrderDetail {
                ProductId = 9, Cost = 100, Count = 2
            }).ShouldBeFalse();
            var empty = new Empty();

            empty.Equals(new Empty()).ShouldBeTrue();
            new Empty().Equals(null).ShouldBeFalse();
            new OrderDetail {
                ProductId = 10, Cost = 100, Count = 2
            }.GetHashCode().ShouldBe(23837272);
            new Order {
                Id = 10
            }.GetHashCode().ShouldBe(922);
        }