Ejemplo n.º 1
0
        public void MergeBasic()
        {
            var cset1 = new MockConfigSet()
            {
                Param1 = "1",
            };
            var cset2 = new MockConfigSet()
            {
                Param2 = 2,
            };

            // Basic merge
            cset1.Merge(cset2); // no conflicst, different params are defined
            Assert.AreEqual(2, cset1.Param2);
            cset1.Merge(cset2); // no conflicts, params have same values
        }
Ejemplo n.º 2
0
        public void MergeDifferentTypes()
        {
            var cset1 = new MockConfigSet()
            {
                Param1 = "1",
                Param2 = 1,
            };
            var cset2 = new AnotherMockConfigSet()
            {
                Param1 = "1",
                Param2 = 2,
            };

            cset1.Merge(cset2); // Param1 shouldn't conflict, Param2 shouldn't be overwritten
            cset1.Merge(cset2, MergeRules.Overwrite);
            Assert.AreEqual(1, cset1.Param2);
        }
Ejemplo n.º 3
0
        public void MergeKeepExisting()
        {
            var cset1 = new MockConfigSet()
            {
                Param2 = 1,
            };
            var cset2 = new MockConfigSet()
            {
                Param1 = "2",
                Param2 = 2,
            };

            cset1.Merge(cset2, MergeRules.KeepExisting);
            Assert.AreEqual("2", cset1.Param1);
            Assert.AreEqual(1, cset1.Param2);
        }
Ejemplo n.º 4
0
        public void MergeOverwrite()
        {
            var cset1 = new MockConfigSet()
            {
                Param2 = 1,
            };
            var cset2 = new MockConfigSet()
            {
                Param1 = "2",
                Param2 = 2,
            };

            cset1.Merge(cset2, MergeRules.Overwrite);
            Assert.AreEqual("2", cset1.Param1);
            Assert.AreEqual(2, cset1.Param2);
        }
Ejemplo n.º 5
0
        public void MergeConflicting()
        {
            var cset1 = new MockConfigSet()
            {
                Param2 = 1,
            };
            var cset2 = new MockConfigSet()
            {
                Param1 = "2",
                Param2 = 2,
            };

            try
            {
                cset1.Merge(cset2);
                Assert.Fail("ConfigSetMergeException expected !");
            }
            catch (ConfigSetMergeException)
            {
                // Esnure that cset1 isn't modified in a conflicting merge
                Assert.IsNull(cset1.Param1);
            }
        }