using Xunit; using Version = Application.Models.Version; namespace UpdateTag.Tests { public class VersionTests { [Theory] [InlineData(1, 0, 0, "", "", "2.0.0")] [InlineData(1, 1, 0, "", "", "2.0.0")] [InlineData(1, 1, 1, "", "", "2.0.0")] [InlineData(1, 1, 1, "RC.4", "", "2.0.0")] [InlineData(1, 1, 1, "RC.4", "ErpNext", "2.0.0+ErpNext")] public void BumpMajor(int major, int minor, int patch, string rc, string service, string expected) { var version = new Version(major, minor, patch, rc, service); version.BumpMajor(); Assert.Equal(expected, version.ToString()); } [Theory] [InlineData(1, 0, 0, "", "", "1.1.0")] [InlineData(1, 1, 0, "", "", "1.2.0")] [InlineData(1, 1, 1, "", "", "1.2.0")] [InlineData(1, 1, 1, "RC.4", "", "1.2.0")] [InlineData(1, 1, 1, "RC.4", "ErpNext", "1.2.0+ErpNext")] public void BumpMinor(int major, int minor, int patch, string rc, string service, string expected) { var version = new Version(major, minor, patch, rc, service); version.BumpMinor(); Assert.Equal(expected, version.ToString()); } [Theory] [InlineData(1, 0, 0, "", "", "1.0.1")] [InlineData(1, 1, 0, "", "", "1.1.1")] [InlineData(1, 1, 1, "", "", "1.1.2")] [InlineData(1, 1, 1, "RC.4", "", "1.1.2")] [InlineData(1, 1, 1, "RC.4", "ErpNext", "1.1.2+ErpNext")] public void BumpPatch(int major, int minor, int patch, string rc, string service, string expected) { var version = new Version(major, minor, patch, rc, service); version.BumpPatch(); Assert.Equal(expected, version.ToString()); } [Theory] [InlineData(1, 0, 0, "", "", "1.1.0-RC.0")] [InlineData(1, 1, 0, "", "", "1.2.0-RC.0")] [InlineData(1, 1, 1, "", "", "1.2.0-RC.0")] [InlineData(1, 1, 1, "RC.4", "", "1.1.1-RC.5")] [InlineData(1, 1, 1, "RC.4", "ErpNext", "1.1.1-RC.5+ErpNext")] public void BumpRc(int major, int minor, int patch, string rc, string service, string expected) { var version = new Version(major, minor, patch, rc, service); version.BumpRc(); Assert.Equal(expected, version.ToString()); } } }