public void Serialize_DoesNotSerializeSinceNotConfigured(string propName)
        {
            TestA ta = new TestA();
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsFalse(jsAssert.HasProperty(propName));
        }
        public void Serialize_UnIgnorePrivateField()
        {
            TestA ta = new TestA();

            ta.SetIgnoredPrivateField(1);
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Field("ignoredPrivateField").Ignore(false).HasName("unignored_private_field");

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsTrue(jsAssert.HasPropertyWithValue("unignored_private_field", 1));
        }
        public void Serialize_OverridePrivatePropertyName()
        {
            TestA ta = new TestA();

            ta.SetPrivateProp(1);
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Property("PrivateProp").HasName("private_prop");

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsTrue(jsAssert.HasPropertyWithValue("private_prop", 1));
        }
        public void Serialize_OverridePropertyName()
        {
            TestA ta = new TestA()
            {
                IdA = 1
            };
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Property(ta => ta.IdA).HasName("id_a");

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsTrue(jsAssert.HasPropertyWithValue("id_a", 1));
        }
        public void Serialize_UnnamedProperty()
        {
            TestA ta = new TestA()
            {
                UnnamedProperty = 1
            };
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Property(ta => ta.UnnamedProperty).HasName("unnamed_property");

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsTrue(jsAssert.HasPropertyWithValue("unnamed_property", 1));
        }
        public void Serialize_NestedObjectNaming()
        {
            TestA ta = new TestA();

            ta.TestBReference = new TestB()
            {
                IdB = 1
            };
            ContractConfiguration <TestB> cc = new ContractConfiguration <TestB>();

            cc.Property(tb => tb.IdB).HasName("id_b");

            var json = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssert = new JsonStringValidator(json, jt => jt["testB"]);

            Assert.IsTrue(jsAssert.HasPropertyWithValue("id_b", 1));
        }
        public void Serialize_IgnorePrivateField()
        {
            TestA ta = new TestA();

            ta.SetPrivateField(1);
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Field("privateField").Ignore();

            var staticJson = JsonConvert.SerializeObject(ta);
            var json       = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssertStatic = new JsonStringValidator(staticJson);

            Assert.IsTrue(jsAssertStatic.HasProperty("privateField"));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsFalse(jsAssert.HasProperty("privateField"));
        }
        public void Serialize_IgnoreProperty()
        {
            TestA ta = new TestA()
            {
                IdA = 1
            };
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Property(ta => ta.IdA).Ignore();

            var staticJson = JsonConvert.SerializeObject(ta);
            var json       = JsonConvert.SerializeObject(ta, GetSettings(cc));

            JsonStringValidator jsAssertStatic = new JsonStringValidator(staticJson);

            Assert.IsTrue(jsAssertStatic.HasProperty("idA"));

            JsonStringValidator jsAssert = new JsonStringValidator(json);

            Assert.IsFalse(jsAssert.HasProperty("idA"));
        }
        public void Serialize_NestedArrayNaming()
        {
            TestB tb = new TestB()
            {
                IdB = 1
            };
            var tas = new TestA[]
            {
                new TestA()
                {
                    IdA = 1
                },
                new TestA()
                {
                    IdA = 2
                },
                new TestA()
                {
                    IdA = 3
                },
                new TestA()
                {
                    IdA = 4
                },
            };

            tb.TestAReferences.AddRange(tas);
            ContractConfiguration <TestA> cc = new ContractConfiguration <TestA>();

            cc.Property(ta => ta.IdA).HasName("id_a");

            var json = JsonConvert.SerializeObject(tb, GetSettings(cc));

            for (int i = 0; i < tas.Length; i++)
            {
                JsonStringValidator jsAssert = new JsonStringValidator(json, jt => jt["testAs"].Cast <JObject>().ElementAt(i));
                Assert.IsTrue(jsAssert.HasPropertyWithValue("id_a", i + 1));
            }
        }
Ejemplo n.º 10
0
        public void StringValidator()
        {
            var c = new JsonSchemaValidationContext("test");

            {
                var v = new JsonStringValidator();
                Assert.Null(v.Validate(c, ""));
                Assert.Null(v.Validate(c, "a"));
            }

            {
                var v = new JsonStringValidator();
                v.MinLength = 1;
                Assert.Null(v.Validate(c, "a"));
                Assert.NotNull(v.Validate(c, ""));
            }
            {
                var v = new JsonStringValidator();
                v.MaxLength = 1;
                Assert.Null(v.Validate(c, "a"));
                Assert.NotNull(v.Validate(c, "ab"));
            }
            {
                var v = new JsonStringValidator();
                v.Pattern = new System.Text.RegularExpressions.Regex("abc");
                Assert.Null(v.Validate(c, "abc"));
                Assert.NotNull(v.Validate(c, "ab"));
            }
            {
                var v = new JsonStringValidator();
                v.Pattern = new System.Text.RegularExpressions.Regex("ab+");
                Assert.Null(v.Validate(c, "abb"));
                Assert.Null(v.Validate(c, "ab"));
                Assert.NotNull(v.Validate(c, "a"));
            }

            Assert.True(c.IsEmpty());
        }