// Copyright Keysight Technologies 2012-2019
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
// file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
using System;
|
using NUnit.Framework;
|
|
namespace OpenTap.Package.UnitTests
|
{
|
[TestFixture]
|
public class IVersionConverterTests
|
{
|
[Test]
|
public void MajorMinorBuildRevisionVersionTest()
|
{
|
var Converter = new MajorMinorBuildRevisionVersionConverter();
|
|
var semver = Converter.Convert("1.2.3.4");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(2, semver.Minor);
|
Assert.AreEqual(4, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual("3", semver.BuildMetadata);
|
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("1.2.3"));
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("hej"));
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("1.2.3.4.5"));
|
}
|
|
[Test]
|
public void FourValueVersionTest()
|
{
|
var Converter = new FourValueVersionConverter();
|
|
var semver = Converter.Convert("1.2.3.4");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(2, semver.Minor);
|
Assert.AreEqual(3, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual("4", semver.BuildMetadata);
|
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("1.2.3"));
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("hej"));
|
Assert.Throws(typeof(ArgumentException), () => Converter.Convert("1.2.3.4.5"));
|
}
|
|
[Test]
|
public void Tap8CompatibilityVersionTest()
|
{
|
var Converter = new Tap8CompatibilityVersionConverter();
|
|
var semver = Converter.Convert("1.2.3.4");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(2, semver.Minor);
|
Assert.AreEqual(3, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual("4", semver.BuildMetadata);
|
|
semver = Converter.Convert("1.2 Development");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(2, semver.Minor);
|
Assert.AreEqual(int.MaxValue, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual(null, semver.BuildMetadata);
|
|
semver = Converter.Convert("1");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(0, semver.Minor);
|
Assert.AreEqual(0, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual(null, semver.BuildMetadata);
|
|
semver = Converter.Convert("1.2.3.dijf23");
|
Assert.AreEqual(1, semver.Major);
|
Assert.AreEqual(2, semver.Minor);
|
Assert.AreEqual(3, semver.Patch);
|
Assert.AreEqual(null, semver.PreRelease);
|
Assert.AreEqual("dijf23", semver.BuildMetadata);
|
}
|
}
|
}
|