public void RemoveSettings()
        {
            RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey);

            storage.SaveSetting("X", 5);
            storage.SaveSetting("NAME", "Charlie");

            storage.RemoveSetting("X");
            Assert.IsNull(storage.LoadSetting("X"), "X not removed");
            Assert.AreEqual("Charlie", storage.LoadSetting("NAME"));

            storage.RemoveSetting("NAME");
            Assert.IsNull(storage.LoadSetting("NAME"), "NAME not removed");
        }
        public void BadSetting2()
        {
            RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey);

            storage.SaveSetting("X", "1y25");

            int x = storage.LoadIntSetting("X", 12);
        }
        public void TypeSafeSettings()
        {
            RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey);

            storage.SaveSetting("X", 5);
            storage.SaveSetting("Y", "17");
            storage.SaveSetting("NAME", "Charlie");

            Assert.AreEqual(5, storage.LoadSetting("X"));
            Assert.AreEqual(5, storage.LoadIntSetting("X"));
            Assert.AreEqual("5", storage.LoadStringSetting("X"));

            Assert.AreEqual("17", storage.LoadSetting("Y"));
            Assert.AreEqual(17, storage.LoadIntSetting("Y"));
            Assert.AreEqual("17", storage.LoadStringSetting("Y"));

            Assert.AreEqual("Charlie", storage.LoadSetting("NAME"));
            Assert.AreEqual("Charlie", storage.LoadStringSetting("NAME"));
        }
        public void SaveAndLoadSettings()
        {
            RegistrySettingsStorage storage = new RegistrySettingsStorage("Test", testKey);

            Assert.IsNull(storage.LoadSetting("X"), "X is not null");
            Assert.IsNull(storage.LoadSetting("NAME"), "NAME is not null");

            storage.SaveSetting("X", 5);
            storage.SaveSetting("NAME", "Charlie");

            Assert.AreEqual(5, storage.LoadSetting("X"));
            Assert.AreEqual("Charlie", storage.LoadSetting("NAME"));

            using (RegistryKey key = testKey.OpenSubKey("Test"))
            {
                Assert.IsNotNull(key);
                Assert.AreEqual(5, key.GetValue("X"));
                Assert.AreEqual("Charlie", key.GetValue("NAME"));
            }
        }
        public void SaveAndLoadSettingsPUT1([PexAssumeUnderTest] String[] name, [PexAssumeUnderTest] Object[] value)
        {
            PexAssume.IsTrue(name.Length == value.Length);
            for (int i = 0; i < value.Length; i++)
            {
                PexAssume.IsTrue(value[i] is String || value[i] is int);
                PexAssume.IsNotNullOrEmpty(name[i]);
                PexAssume.IsNotNull(value[i]);
            }

            for (int i = 0; i < name.Length; i++)
            {
                storage.SaveSetting(name[i], value[i]);
            }
            for (int i = 0; i < name.Length; i++)
            {
                PexAssert.AreEqual(value[i], storage.GetSetting(name[i]));
                PexAssert.AreEqual(value[i], testKey.GetValue(name[i]));
            }
        }
        public void SaveAndLoadSettings()
        {
            Assert.IsNull(storage.GetSetting("X"), "X is not null");
            Assert.IsNull(storage.GetSetting("NAME"), "NAME is not null");

            storage.SaveSetting("X", 5);
            storage.SaveSetting("NAME", "Charlie");

            Assert.AreEqual(5, storage.GetSetting("X"));
            Assert.AreEqual("Charlie", storage.GetSetting("NAME"));

            Assert.AreEqual(5, testKey.GetValue("X"));
            Assert.AreEqual("Charlie", testKey.GetValue("NAME"));
        }