Ejemplo n.º 1
0
        public void Should_validate_when_unique_key_in_context_set()
        {
            var context    = new OEContext();
            var productSet = context.Set <ProductWithSingleKeyProperty>();
            var product1   = new ProductWithSingleKeyProperty()
            {
                Id        = 1,
                Name      = "First product",
                UnitPrice = 100
            };

            productSet.Add(product1);
            var product2 = new ProductWithSingleKeyProperty()
            {
                Id        = 2,
                Name      = "Second product",
                UnitPrice = 100
            };

            productSet.Add(product2);

            var validationResults = new List <ValidationResultWithSeverityLevel>();
            var result            = productSet.Validate(validationResults);

            Assert.AreEqual(true, result);
            Assert.AreEqual(0, validationResults.Count());

            validationResults = new List <ValidationResultWithSeverityLevel>();
            result            = context.Validate(validationResults);
            Assert.AreEqual(true, result);
            Assert.AreEqual(0, validationResults.Count());
        }
Ejemplo n.º 2
0
        public void Should_fail_when_duplicate_key_in_context_set_add()
        {
            var context    = new OEContext();
            var productSet = context.Set <ProductWithSingleKeyProperty>();
            var product1   = new ProductWithSingleKeyProperty()
            {
                Id        = 1,
                Name      = "First product",
                UnitPrice = 100
            };

            productSet.Add(product1);
            var product2 = new ProductWithSingleKeyProperty()
            {
                Id        = 1,
                Name      = "Second product",
                UnitPrice = 100
            };

            productSet.Add(product2);

            var validationResults = new List <ValidationResultWithSeverityLevel>();
            var result            = productSet.Validate(validationResults);

            Assert.AreEqual(false, result);
            Assert.AreEqual(2, validationResults.Count());
            Assert.AreSame(product1, validationResults[0].Entity);
            Assert.AreEqual("Id", validationResults[0].MemberNames.ElementAt(0));
            Assert.AreSame(product2, validationResults[1].Entity);
            Assert.AreEqual("Id", validationResults[1].MemberNames.ElementAt(0));

            validationResults = new List <ValidationResultWithSeverityLevel>();
            result            = context.Validate(validationResults);
            Assert.AreEqual(false, result);
            Assert.AreEqual(2, validationResults.Count());
            Assert.AreSame(product1, validationResults[0].Entity);
            Assert.AreEqual("Id", validationResults[0].MemberNames.ElementAt(0));
            Assert.AreSame(product2, validationResults[1].Entity);
            Assert.AreEqual("Id", validationResults[1].MemberNames.ElementAt(0));
        }