Ejemplo n.º 1
0
        public void TestCombineSubSchemaProperties()
        {
            var schema1     = new JSchema();
            var propSchema1 = new JSchema();

            propSchema1.Properties.Add("sub_prop1", new JSchema());
            schema1.Properties.Add("prop1", propSchema1);

            var schema2     = new JSchema();
            var propSchema2 = new JSchema();

            propSchema2.Properties.Add("sub_prop2", new JSchema());
            schema2.Properties.Add("prop1", propSchema2);

            var underTest = new SchemaCombiner();
            var result    = underTest.Apply(schema1, schema2, null);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Properties);
            Assert.AreEqual(1, result.Properties.Count);
            Assert.IsTrue(result.Properties.ContainsKey("prop1"), "Expect the property from both schema.");

            var innerProperties = result.Properties["prop1"].Properties;

            Assert.AreEqual(2, innerProperties.Count);
            Assert.IsTrue(innerProperties.ContainsKey("sub_prop1"), "Expect the property from the first schema.");
            Assert.IsTrue(innerProperties.ContainsKey("sub_prop2"), "Expect the property from the second schema.");
        }
Ejemplo n.º 2
0
		public void TestReportTitleConflictWhenBothHaveTitle()
		{
			var schema1 = new JSchema
			{
				Title = "s1"
			};
			var schema2 = new JSchema
			{
				Title = "s2"
			};

			var underTest = new SchemaCombiner();
			var report = new SchemaComparisionReport();
			var result = underTest.Apply(schema1, schema2, report);

			var failures = report.GetFailures().ToList();

			Assert.AreEqual(1, failures.Count, "One failure expected");
			Assert.IsInstanceOfType(failures[0], typeof(ValueConflict));

			var valueConflict = (ValueConflict)failures[0];
			Assert.AreEqual("title", valueConflict.PropertyName);
			Assert.AreEqual(schema1, valueConflict.SchemaPart);
			Assert.AreEqual(schema2, valueConflict.SchemaBasePart);
			Assert.AreEqual("s1", valueConflict.Value1);
			Assert.AreEqual("s2", valueConflict.Value2);
		}
Ejemplo n.º 3
0
        public void TestReportTitleConflictWhenBothHaveTitle()
        {
            var schema1 = new JSchema
            {
                Title = "s1"
            };
            var schema2 = new JSchema
            {
                Title = "s2"
            };

            var underTest = new SchemaCombiner();
            var report    = new SchemaComparisionReport();
            var result    = underTest.Apply(schema1, schema2, report);

            var failures = report.GetFailures().ToList();

            Assert.AreEqual(1, failures.Count, "One failure expected");
            Assert.IsInstanceOfType(failures[0], typeof(ValueConflict));

            var valueConflict = (ValueConflict)failures[0];

            Assert.AreEqual("title", valueConflict.PropertyName);
            Assert.AreEqual(schema1, valueConflict.SchemaPart);
            Assert.AreEqual(schema2, valueConflict.SchemaBasePart);
            Assert.AreEqual("s1", valueConflict.Value1);
            Assert.AreEqual("s2", valueConflict.Value2);
        }
Ejemplo n.º 4
0
        public void TestTitleUsedFromAvailableSchema()
        {
            const string expectedResult = "title";

            var schema1 = new JSchema();
            var schema2 = new JSchema
            {
                Title = expectedResult
            };

            var underTest = new SchemaCombiner();
            var result    = underTest.Apply(schema1, schema2, null);

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result.Title);
        }
Ejemplo n.º 5
0
		public void TestTitleUsedFromAvailableSchema()
		{
			const string expectedResult = "title";

			var schema1 = new JSchema();
			var schema2 = new JSchema
			{
				Title = expectedResult
			};

			var underTest = new SchemaCombiner();
			var result = underTest.Apply(schema1, schema2, null);

			Assert.IsNotNull(result);
			Assert.AreEqual(expectedResult, result.Title);
		}
Ejemplo n.º 6
0
		public void TestCombineSchemaProperties()
		{
			var schema1 = new JSchema();
			schema1.Properties.Add("prop1", new JSchema());

			var schema2 = new JSchema();
			schema2.Properties.Add("prop2", new JSchema());

			var underTest = new SchemaCombiner();
			var result = underTest.Apply(schema1, schema2, null);

			Assert.IsNotNull(result);
			Assert.IsNotNull(result.Properties);
			Assert.AreEqual(2, result.Properties.Count);
			Assert.IsTrue(result.Properties.ContainsKey("prop1"), "Expect the property from the first schema.");
			Assert.IsTrue(result.Properties.ContainsKey("prop2"), "Expect the property from the second schema.");
		}
 internal DefaultModuleSchemaProvider(SchemaCombiner schemaCombiner, ISchemaProvider schemaProvider)
 {
     _schemaCombiner = schemaCombiner;
     _schemaProvider = schemaProvider;
 }
 internal DefaultModuleSchemaProvider(SchemaCombiner schemaCombiner, ISchemaProvider schemaProvider)
 {
     _schemaCombiner = schemaCombiner;
     _schemaProvider = schemaProvider;
 }
Ejemplo n.º 9
0
		public void TestCombineSubSchemaProperties()
        {
            var schema1 = new JSchema();
            var propSchema1 = new JSchema();
            propSchema1.Properties.Add("sub_prop1", new JSchema());
            schema1.Properties.Add("prop1", propSchema1);

            var schema2 = new JSchema();
            var propSchema2 = new JSchema();
            propSchema2.Properties.Add("sub_prop2", new JSchema());
            schema2.Properties.Add("prop1", propSchema2);

            var underTest = new SchemaCombiner();
            var result = underTest.Apply(schema1, schema2, null);

            Assert.NotNull(result);
            Assert.NotNull(result.Properties);
            Assert.Equal(1, result.Properties.Count);
            Assert.True(result.Properties.ContainsKey("prop1"), "Expect the property from both schema.");

            var innerProperties = result.Properties["prop1"].Properties;
            Assert.Equal(2, innerProperties.Count);
            Assert.True(innerProperties.ContainsKey("sub_prop1"), "Expect the property from the first schema.");
            Assert.True(innerProperties.ContainsKey("sub_prop2"), "Expect the property from the second schema.");
        }