@@ -308,8 +308,28 @@ public void TestGTMatcherReturnsTrueWhenAttributeValueIsGreaterThanConditionValu
308
308
Assert . That ( GTCondition . Evaluate ( null , new UserAttributes { { "distance_gt" , 15 } } , Logger ) , Is . True ) ;
309
309
}
310
310
311
+ [ Test ]
312
+ public void TestSemVerGTTargetBetaComplex ( )
313
+ {
314
+ var semverGTCondition = new BaseCondition { Name = "semversion_gt" , Value = "2.1.3-beta+1" , Match = "semver_gt" , Type = "custom_attribute" } ;
315
+ Assert . IsTrue ( semverGTCondition . Evaluate ( null , new UserAttributes { { "semversion_gt" , "2.1.3-beta+1.2.3" } } , Logger ) ?? false ) ;
316
+ }
317
+
318
+ [ Test ]
319
+ public void TestSemVerGTCompareAgainstPreReleaseToPreRelease ( )
320
+ {
321
+ var semverGTCondition = new BaseCondition { Name = "semversion_gt" , Value = "3.7.1-prerelease+build" , Match = "semver_gt" , Type = "custom_attribute" } ;
322
+ Assert . IsTrue ( semverGTCondition . Evaluate ( null , new UserAttributes { { "semversion_gt" , "3.7.1-prerelease+rc" } } , Logger ) ?? false ) ;
323
+ }
324
+
325
+ [ Test ]
326
+ public void TestSemVerGTComparePrereleaseSmallerThanBuild ( )
327
+ {
328
+ var semverGTCondition = new BaseCondition { Name = "semversion_gt" , Value = "3.7.1-prerelease" , Match = "semver_gt" , Type = "custom_attribute" } ;
329
+ Assert . IsTrue ( semverGTCondition . Evaluate ( null , new UserAttributes { { "semversion_gt" , "3.7.1+build" } } , Logger ) ?? false ) ;
330
+ }
311
331
#endregion // GTMatcher Tests
312
-
332
+
313
333
#region GEMatcher Tests
314
334
315
335
[ Test ]
@@ -372,6 +392,20 @@ public void TestLTMatcherReturnsTrueWhenAttributeValueIsLessThanConditionValue()
372
392
Assert . That ( LTCondition . Evaluate ( null , new UserAttributes { { "distance_lt" , 5 } } , Logger ) , Is . True ) ;
373
393
}
374
394
395
+ [ Test ]
396
+ public void TestSemVerLTTargetBuildComplex ( )
397
+ {
398
+ var semverLTCondition = new BaseCondition { Name = "semversion_lt" , Value = "2.1.3-beta+1.2.3" , Match = "semver_lt" , Type = "custom_attribute" } ;
399
+ Assert . IsTrue ( semverLTCondition . Evaluate ( null , new UserAttributes { { "semversion_lt" , "2.1.3-beta+1" } } , Logger ) ?? false ) ;
400
+ }
401
+
402
+ [ Test ]
403
+ public void TestSemVerLTCompareMultipleDash ( )
404
+ {
405
+ var semverLTCondition = new BaseCondition { Name = "semversion_lt" , Value = "2.1.3-beta-1.2.3" , Match = "semver_lt" , Type = "custom_attribute" } ;
406
+ Assert . IsTrue ( semverLTCondition . Evaluate ( null , new UserAttributes { { "semversion_lt" , "2.1.3-beta-1" } } , Logger ) ?? false ) ;
407
+ }
408
+
375
409
#endregion // LTMatcher Tests
376
410
377
411
#region LEMatcher Tests
@@ -503,6 +537,13 @@ public void TestSemVerEQMatcherReturnsTrueWhenAttributeValueIsEqualToConditionVa
503
537
var semverEQCondition = new BaseCondition { Name = "semversion_eq" , Value = "3.7.0-beta.2.3" , Match = "semver_eq" , Type = "custom_attribute" } ;
504
538
Assert . IsTrue ( semverEQCondition . Evaluate ( null , new UserAttributes { { "semversion_eq" , "3.7.0-beta.2.3" } } , Logger ) ?? false ) ;
505
539
}
540
+
541
+ [ Test ]
542
+ public void TestSemVerEQTargetBuildIgnores ( )
543
+ {
544
+ var semverEQCondition = new BaseCondition { Name = "semversion_eq" , Value = "2.1.3" , Match = "semver_eq" , Type = "custom_attribute" } ;
545
+ Assert . IsTrue ( semverEQCondition . Evaluate ( null , new UserAttributes { { "semversion_eq" , "2.1.3+build" } } , Logger ) ?? false ) ;
546
+ }
506
547
#endregion // SemVerEQMatcher Tests
507
548
508
549
#region SemVerGEMatcher Tests
0 commit comments