using IvfTl.ControlHost; using Xunit; namespace IvfTl.ControlHost.Tests { public class HostArgsTests { [Fact] public void Parse_AllArgs_FillsFields() { var a = HostArgs.Parse(new[] { "--account=admin", "--password=123456", "--cacheDisk=C", "--port=38080" }); Assert.Equal("admin", a.Account); Assert.Equal("123456", a.Password); Assert.Equal("C", a.CacheDisk); Assert.Equal(38080, a.Port); } [Fact] public void Parse_MissingPort_UsesDefault38080() { var a = HostArgs.Parse(new[] { "--account=x", "--password=y" }); Assert.Equal(38080, a.Port); } [Fact] public void Parse_NoCredentials_IsValidFalse() { var a = HostArgs.Parse(new[] { "--port=38080" }); Assert.False(a.IsValid); } [Fact] public void Parse_WithCredentials_IsValidTrue() { var a = HostArgs.Parse(new[] { "--account=admin", "--password=123456" }); Assert.True(a.IsValid); } } }