public void DeepMerger_MergeCollections_RemoveCollection() { DeepMergerTestSection testSection = GetMergedConfig(); var coll = testSection.RemoveCollection; var test1 = coll.FirstOrDefault(x => x.Name == "removeSame"); var test2 = coll.FirstOrDefault(x => x.Name == "fullRemove"); var test3 = coll.FirstOrDefault(x => x.Name == "fullRemoveLower"); var test4 = coll.FirstOrDefault(x => x.Name == "removedLower"); var test5 = coll.FirstOrDefault(x => x.Name == "removedLowerWithSpace"); Assert.IsNotNull(testSection); Assert.IsNotNull(coll); Assert.AreEqual(3, coll.Count); Assert.IsNotNull(test1); Assert.AreEqual("test", test1.Value); Assert.IsNull(test2); Assert.IsNull(test3); Assert.IsNotNull(test4); Assert.AreEqual("test", test4.Value); Assert.IsNotNull(test5); Assert.AreEqual("test", test5.Value); }
public void DeepMerger_MergeCollections_ClearCollection() { DeepMergerTestSection testSection = GetMergedConfig(); var coll = testSection.ClearCollection; var test1 = coll.FirstOrDefault(x => x.Name == "test1"); var test2 = coll.FirstOrDefault(x => x.Name == "test2"); var test3 = coll.FirstOrDefault(x => x.Name == "test3"); var test4 = coll.FirstOrDefault(x => x.Name == "test4"); Assert.IsNotNull(testSection); Assert.IsNotNull(coll); Assert.AreEqual(3, coll.Count); Assert.IsNotNull(test1); Assert.AreEqual("test", test1.Value); Assert.IsNotNull(test2); Assert.AreEqual("", test2.Value); // interestingly not null Assert.IsNull(test3); Assert.IsNotNull(test4); Assert.AreEqual("test", test4.Value); }
public void DeepMerger_MergeCollections_SubCollection_NoSideEffects() { DeepMergerTestSection testSection = GetMergedConfig(); var coll = testSection.SubCollection; var test1Coll = coll.FirstOrDefault(x => x.Name == "test1"); var test2Coll = coll.FirstOrDefault(x => x.Name == "test2"); var test3Coll = coll.FirstOrDefault(x => x.Name == "test3"); var test2T1 = test2Coll.SubCollection.FirstOrDefault(x => x.Name == "t1"); var test2T2 = test2Coll.SubCollection.FirstOrDefault(x => x.Name == "t2"); var test2T4 = test2Coll.SubCollection.FirstOrDefault(x => x.Name == "removed"); // The collections are all there Assert.IsNotNull(testSection); Assert.IsNotNull(coll); Assert.IsNotNull(test1Coll); Assert.IsNotNull(test2Coll); Assert.IsNotNull(test3Coll); Assert.IsNotNull(test2T1); Assert.AreEqual("test2", test2T1.Value); Assert.IsNull(test2T2); Assert.IsNull(test2T4); }
public void DeepMerger_MergeProperties() { DeepMergerTestSection testSection = GetMergedConfig(); Assert.IsNotNull(testSection); Assert.AreEqual("override2", testSection.OverriddenProperty.Value); Assert.AreEqual("override", testSection.JumpOverProperty.Value); Assert.AreEqual("", testSection.NewEmptyProperty.Value); Assert.AreEqual("test", testSection.NewNullProperty.Value); }
public void DeepMerger_MergeCollections_SubCollection_Hopping() { DeepMergerTestSection testSection = GetMergedConfig(); var coll = testSection.SubCollection; var test3Coll = coll.FirstOrDefault(x => x.Name == "test3"); var test3T1 = test3Coll.SubCollection.FirstOrDefault(x => x.Name == "t1"); // The collections are all there Assert.IsNotNull(testSection); Assert.IsNotNull(coll); Assert.IsNotNull(test3Coll); Assert.IsNotNull(test3T1); Assert.AreEqual("test4", test3T1.Value); }