public void SaveLoadUsingAttributes() { XmlFileManager testManager = new XmlFileManager(new CimToolBase(new CimToolSettings("", "SaveLoadUsingAttributesTest", modAssembly: Assembly.GetExecutingAssembly()))); TestNonStaticOverriddenClass testClassOverridden = new TestNonStaticOverriddenClass(); TestNonStaticNonOverriddenClass testClassNonOverridden = new TestNonStaticNonOverriddenClass(); testManager.AddObjectToSave(testClassOverridden); testManager.AddObjectToSave(testClassNonOverridden); testManager.Save(); TestOverriddenNameClass.testInt = -100; TestOverriddenNameClass.testString = "differentValue"; TestOverriddenNameClass.testDictionaryDouble = new Dictionary <string, double>() { { "new double", -23.4567 }, { "another double", 98877.52322 } }; TestOverriddenNameClass.testListInt = new List <int>() { 9, 8, 7, 6 }; testClassOverridden.testInt = -100; testClassOverridden.testString = "differentValue"; testClassOverridden.testDictionaryDouble = new Dictionary <string, double>() { { "new double", -23.4567 }, { "another double", 98877.52322 } }; testClassOverridden.testListInt = new List <int>() { 9, 8, 7, 6 }; Assert.AreEqual(-100, TestOverriddenNameClass.testInt); Assert.AreEqual("differentValue", TestOverriddenNameClass.testString); Assert.AreEqual(-23.4567, TestOverriddenNameClass.testDictionaryDouble["new double"]); Assert.AreEqual(98877.52322, TestOverriddenNameClass.testDictionaryDouble["another double"]); Assert.AreEqual(4, TestOverriddenNameClass.testListInt.Count); Assert.AreEqual(-100, testClassOverridden.testInt); Assert.AreEqual("differentValue", testClassOverridden.testString); Assert.AreEqual(-23.4567, testClassOverridden.testDictionaryDouble["new double"]); Assert.AreEqual(98877.52322, testClassOverridden.testDictionaryDouble["another double"]); Assert.AreEqual(4, testClassOverridden.testListInt.Count); testManager.Load(); Assert.AreEqual(15, TestOverriddenNameClass.testInt); Assert.AreEqual("test string", TestOverriddenNameClass.testString); Assert.AreEqual(0.00005, TestOverriddenNameClass.testDictionaryDouble["doublekey1"]); Assert.AreEqual(2, TestOverriddenNameClass.testDictionaryDouble.Count); Assert.AreEqual(6, TestOverriddenNameClass.testListInt.Count); Assert.AreEqual(1, TestOverriddenNameClass.testListInt[0]); Assert.AreEqual(2, TestOverriddenNameClass.testListInt[1]); Assert.AreEqual(3, TestOverriddenNameClass.testListInt[2]); Assert.AreEqual(4, TestOverriddenNameClass.testListInt[3]); Assert.AreEqual(5, TestOverriddenNameClass.testListInt[4]); Assert.AreEqual(6, TestOverriddenNameClass.testListInt[5]); Assert.AreEqual(150, testClassOverridden.testInt); Assert.AreEqual("test non static string", testClassOverridden.testString); Assert.AreEqual(0.00005, testClassOverridden.testDictionaryDouble["doublekey2"]); Assert.AreEqual(1, testClassOverridden.testDictionaryDouble.Count); Assert.AreEqual(6, testClassOverridden.testListInt.Count); Assert.AreEqual(10, testClassOverridden.testListInt[0]); Assert.AreEqual(20, testClassOverridden.testListInt[1]); Assert.AreEqual(30, testClassOverridden.testListInt[2]); Assert.AreEqual(40, testClassOverridden.testListInt[3]); Assert.AreEqual(50, testClassOverridden.testListInt[4]); Assert.AreEqual(60, testClassOverridden.testListInt[5]); }