Skip to content

Commit b9855c2

Browse files
committed
Implemented the <= and >= operators.
1 parent 2d6a8d4 commit b9855c2

File tree

2 files changed

+62
-1
lines changed

2 files changed

+62
-1
lines changed

Semver.Test/SemVersionTest.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,26 @@ public void GreaterOperatorTest()
579579
Assert.IsFalse(r);
580580
}
581581

582+
[TestMethod]
583+
public void GreaterOrEqualOperatorTest1()
584+
{
585+
var v1 = new SemVersion(1);
586+
var v2 = new SemVersion(1);
587+
588+
var r = v1 >= v2;
589+
Assert.IsTrue(r);
590+
}
591+
592+
[TestMethod]
593+
public void GreaterOrEqualOperatorTest2()
594+
{
595+
var v1 = new SemVersion(2);
596+
var v2 = new SemVersion(1);
597+
598+
var r = v1 >= v2;
599+
Assert.IsTrue(r);
600+
}
601+
582602
[TestMethod]
583603
public void LessOperatorTest()
584604
{
@@ -589,6 +609,26 @@ public void LessOperatorTest()
589609
Assert.IsTrue(r);
590610
}
591611

612+
[TestMethod]
613+
public void LessOrEqualOperatorTest1()
614+
{
615+
var v1 = new SemVersion(1);
616+
var v2 = new SemVersion(1);
617+
618+
var r = v1 <= v2;
619+
Assert.IsTrue(r);
620+
}
621+
622+
[TestMethod]
623+
public void LessOrEqualOperatorTest2()
624+
{
625+
var v1 = new SemVersion(1);
626+
var v2 = new SemVersion(2);
627+
628+
var r = v1 <= v2;
629+
Assert.IsTrue(r);
630+
}
631+
592632
[TestMethod]
593633
public void TestChangeMajor()
594634
{

Semver/SemVersion.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,17 @@ public static implicit operator SemVersion(string version)
434434
return SemVersion.Compare(left, right) == 1;
435435
}
436436

437+
/// <summary>
438+
/// The override of the greater than or equal operator.
439+
/// </summary>
440+
/// <param name="left">The left value.</param>
441+
/// <param name="right">The right value.</param>
442+
/// <returns>If left is greater than or equal to right <c>true</c>, else <c>false</c>.</returns>
443+
public static bool operator >=(SemVersion left, SemVersion right)
444+
{
445+
return left == right || left > right;
446+
}
447+
437448
/// <summary>
438449
/// The override of the less operator.
439450
/// </summary>
@@ -444,6 +455,16 @@ public static implicit operator SemVersion(string version)
444455
{
445456
return SemVersion.Compare(left, right) == -1;
446457
}
458+
459+
/// <summary>
460+
/// The override of the less than or equal operator.
461+
/// </summary>
462+
/// <param name="left">The left value.</param>
463+
/// <param name="right">The right value.</param>
464+
/// <returns>If left is less than or equal to right <c>true</c>, else <c>false</c>.</returns>
465+
public static bool operator <=(SemVersion left, SemVersion right)
466+
{
467+
return left == right || left < right;
468+
}
447469
}
448470
}
449-

0 commit comments

Comments
 (0)