public void Can_Set_Get_And_Delete_Values() { var registry = new WindowsRegistry(); using (var usersKey = registry.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default)) using (var subkey = usersKey.CreateSubKey("SharpShellTests")) { // Set a value, check it is set, check unset values are not set. var testValue = new Guid().ToString(); subkey.SetValue("TestString", testValue); Assert.That(subkey.GetValue("TestString"), Is.EqualTo(testValue)); subkey.SetValue("TestExpandString", testValue, RegistryValueKind.ExpandString); // Delete the value, and make sure it is no longer present. subkey.DeleteValue("TestString"); Assert.That(subkey.GetValueNames(), Does.Not.Contain("TestString")); subkey.DeleteValue("TestExpandString"); Assert.That(subkey.GetValueNames(), Does.Not.Contain("TestExpandString")); // Make sure missing values are returned properly. Assert.That(subkey.GetValue("TestString"), Is.Null); Assert.That(subkey.GetValue("TestExpandString", "DefaultValue"), Is.EqualTo("DefaultValue")); // If we delete a value which is missing, we should be able to choose whether to throw or now. Assert.DoesNotThrow(() => subkey.DeleteValue("TestString", false)); Assert.Throws <ArgumentException>(() => subkey.DeleteValue("TestString", true)); } }
public void Can_Open_A_Base_Key() { // Try and open the users base key. var registry = new WindowsRegistry(); using var usersKey = registry.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); Assert.That(usersKey.Name, Is.EqualTo("HKEY_CURRENT_USER")); }
public void Open_Subkey_Returns_Null_For_Missing_Subkeys() { var registry = new WindowsRegistry(); using var usersKey = registry.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); using var subkey = usersKey.CreateSubKey("WindowsRegistryTests"); Assert.That(subkey.OpenSubKey("MissingSubkey"), Is.Null); }
public void TearDown() { // Clean up the test key. var registry = new WindowsRegistry(); using var usersKey = registry.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); usersKey.DeleteSubKeyTree("WindowsRegistryTests", false); // don't throw if the key is already deleted. }
public void Can_Create_And_Delete_A_Subkey() { // Open the unit test key. var registry = new WindowsRegistry(); using var usersKey = registry.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); using var subkey = usersKey.CreateSubKey("WindowsRegistryTests"); Assert.That(subkey.Name, Is.EqualTo(@"HKEY_CURRENT_USER\WindowsRegistryTests")); usersKey.DeleteSubKeyTree("WindowsRegistryTests"); Assert.That(usersKey.GetSubKeyNames(), Does.Not.Contain("WindowsRegistryTests")); }