HostArgsTests.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using IvfTl.ControlHost;
  2. using Xunit;
  3. namespace IvfTl.ControlHost.Tests
  4. {
  5. public class HostArgsTests
  6. {
  7. [Fact]
  8. public void Parse_AllArgs_FillsFields()
  9. {
  10. var a = HostArgs.Parse(new[] {
  11. "--account=admin", "--password=123456", "--cacheDisk=C", "--port=38080" });
  12. Assert.Equal("admin", a.Account);
  13. Assert.Equal("123456", a.Password);
  14. Assert.Equal("C", a.CacheDisk);
  15. Assert.Equal(38080, a.Port);
  16. }
  17. [Fact]
  18. public void Parse_MissingPort_UsesDefault38080()
  19. {
  20. var a = HostArgs.Parse(new[] { "--account=x", "--password=y" });
  21. Assert.Equal(38080, a.Port);
  22. }
  23. [Fact]
  24. public void Parse_NoCredentials_IsValidFalse()
  25. {
  26. var a = HostArgs.Parse(new[] { "--port=38080" });
  27. Assert.False(a.IsValid);
  28. }
  29. [Fact]
  30. public void Parse_WithCredentials_IsValidTrue()
  31. {
  32. var a = HostArgs.Parse(new[] { "--account=admin", "--password=123456" });
  33. Assert.True(a.IsValid);
  34. }
  35. }
  36. }