PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/Mercurial.Net.Tests/MercurialVersionAttributeTests.cs

#
C# | 43 lines | 38 code | 5 blank | 0 comment | 0 complexity | aa6cda0a2d693aa041ad06cc7743b089 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0
  1. using System;
  2. using Mercurial.Versions;
  3. using NUnit.Framework;
  4. namespace Mercurial.Tests
  5. {
  6. [TestFixture]
  7. public class MercurialVersionAttributeTests
  8. {
  9. [Test]
  10. [Category("API")]
  11. [TestCase("", "0.0.0.0", "65535.65535.65535.65535")]
  12. [TestCase("1", "1.0.0.0", "1.65535.65535.65535")]
  13. [TestCase("1.2", "1.2.0.0", "1.2.65535.65535")]
  14. [TestCase("1.2.3", "1.2.3.0", "1.2.3.65535")]
  15. [TestCase("1.2.3.4", "1.2.3.4", "1.2.3.4")]
  16. public void VersionStringParsing_WithTestCases(string versionString, string expectedFromVersionString, string expectedToVersionString)
  17. {
  18. var attr = new MercurialVersionAttribute(versionString, versionString);
  19. Assert.That(attr.FromVersion, Is.EqualTo(new Version(expectedFromVersionString)));
  20. Assert.That(attr.ToVersion, Is.EqualTo(new Version(expectedToVersionString)));
  21. }
  22. [Test]
  23. [Category("API")]
  24. [TestCase("1.0.0.0", "2.0.0.0", "1.0.0.0", "2.0.0.0", 0)]
  25. [TestCase("1", "1", "2", "2", -1)] // 1 .. 1.* < 2 .. 2.*
  26. [TestCase("1", "1", "1.6", "1.6", +1)] // 1.6 .. 1.6.* < 1 .. 1.*
  27. [TestCase("1.6", "1.6", "1.6.2", "1.6.2", +1)] // 1.6.2 .. 1.6.2.* < 1.6 .. 1.6.*
  28. public void VersionStringOrdering_WithTestCases(string fromVersion1, string toVersion1, string fromVersion2, string toVersion2, int expectedOrdering)
  29. {
  30. var attr1 = new MercurialVersionAttribute(fromVersion1, toVersion1);
  31. var attr2 = new MercurialVersionAttribute(fromVersion2, toVersion2);
  32. int ordering = attr1.CompareTo(attr2);
  33. Assert.That(ordering, Is.EqualTo(expectedOrdering));
  34. ordering = attr2.CompareTo(attr1);
  35. Assert.That(ordering, Is.EqualTo(-expectedOrdering));
  36. }
  37. }
  38. }