UpdateCheckerTests.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Moq;
  2. using PixiEditor.UpdateModule;
  3. using System.Threading.Tasks;
  4. using Xunit;
  5. namespace PixiEditorTests.UpdateModuleTests
  6. {
  7. public class UpdateCheckerTests
  8. {
  9. [Theory]
  10. [InlineData("0.1.2", "0.1.2", false)]
  11. [InlineData("0.5", "0.1.2", false)]
  12. [InlineData("0.1.3", "0.1.2", false)]
  13. [InlineData("0.1.2", "0.1.3", true)]
  14. [InlineData("0.2.1", "0.1.3", false)]
  15. public void TestThatCheckUpdateAvailableChecksCorrectly(string currentVersion, string newVersion, bool expectedValue)
  16. {
  17. UpdateChecker checker = new UpdateChecker(currentVersion);
  18. bool result = checker.CheckUpdateAvailable(new ReleaseInfo(true) { TagName = newVersion });
  19. Assert.True(result == expectedValue);
  20. }
  21. [Theory]
  22. [InlineData("0.1.2", "0.1.2", false)]
  23. [InlineData("0.5", "0.1.2", false)]
  24. [InlineData("0.1.3", "0.1.2", false)]
  25. [InlineData("0.1.2", "0.1.3", true)]
  26. [InlineData("0.2.1", "0.1.3", false)]
  27. public void CheckThatVersionBiggerComparesCorrectly(string currentVersion, string newVersion, bool expectedValue)
  28. {
  29. Assert.True(UpdateChecker.VersionBigger(currentVersion, newVersion) == expectedValue);
  30. }
  31. [Theory]
  32. [InlineData("0.1.3.5", new string[] { "" }, true)]
  33. [InlineData("0.1.3.5", new string[] { "0.1.3.5" }, false)]
  34. [InlineData("0.1.0.0", new string[] { "0.1.3.5", "0.4.2.1" }, true)]
  35. [InlineData("0.1.2.2", new string[] { " 0.1.2.2 " }, false)]
  36. public void TestThatIsUpdateCompatibleChecksVersionCorrectly(string version, string[] incompatibleVersions, bool expectedResult)
  37. {
  38. UpdateChecker checker = new UpdateChecker(version);
  39. Assert.Equal(expectedResult, checker.IsUpdateCompatible(incompatibleVersions));
  40. }
  41. }
  42. }