mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-04-13 20:47:24 +00:00
feat: Add enum extension method for cycling to next enum value
This commit is contained in:
parent
8cdddc94bc
commit
43fd348fae
4 changed files with 51 additions and 0 deletions
|
|
@ -32,5 +32,17 @@ namespace ICD.Common.Utils.Tests.Extensions
|
|||
{
|
||||
Assert.AreEqual(expected, value.HasFlags(flags));
|
||||
}
|
||||
|
||||
[TestCase(eTestEnum.A, eTestEnum.B)]
|
||||
[TestCase(eTestEnum.B, eTestEnum.C)]
|
||||
[TestCase(eTestEnum.C, eTestEnum.A)]
|
||||
[TestCase(eTestEnum.A | eTestEnum.B, null)]
|
||||
public void CycleNextTest(eTestEnum value, eTestEnum? expected)
|
||||
{
|
||||
if (EnumUtils.HasMultipleFlags(value))
|
||||
Assert.Catch(typeof(InvalidOperationException), () => value.CycleNext());
|
||||
else
|
||||
Assert.AreEqual(expected, value.CycleNext());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue