public async Task SetCurrentEntryAsync_EntryIsInConfig_RunsProcessSettingNewAddress()
        {
            const string ListenAddress  = "127.0.0.1";
            const string MyEntryAddress = "192.168.42.42";

            settings.ListenAddress.Returns(ListenAddress);
            settings.Entries.Returns(
                new List <CommandEntry> {
                new CommandEntry {
                    Name = "MyEntry", Address = MyEntryAddress
                }
            });
            await controller.SetCurrentEntryAsync("MyEntry").ConfigureAwait(false);

            await processRunner.Received().RunAsync(
                Arg.Is(NetshCommandFactory.Executable),
                Arg.Is(NetshCommandFactory.GetAddCommandArguments(ListenAddress, MyEntryAddress)))
            .ConfigureAwait(false);
        }
 public void GetAddCommandArguments_ValidParameter_ReturnsCommandArguments()
 {
     Assert.That(
         NetshCommandFactory.GetAddCommandArguments("127.0.0.1", "192.168.42.42"),
         Is.EqualTo("interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectport=80 connectaddress=192.168.42.42 protocol=tcp"));
 }