Having not specifically done what you are doing, I have seen other similar flag settings, but the enumerations needed to be binary when you are allowing more than one via OR possibilities.
The default is implied as
public enum InteractionMode
{
Add = 0,
AppZone = 1,
Shortcuts = 2,
MagnetSelection = 3,
RowColumnChoosing = 4
}
Change to
public enum InteractionMode
{
Add = 1,
AppZone = 2,
Shortcuts = 4,
MagnetSelection = 8,
RowColumnChoosing = 16
}
So, if a user in the original picks Shortcuts and MagnetSelection as options, looking at binary of
BINARY
Shortcut 2 = 0010
Magnet 3 = 0011
and you get
5 = 0101 binary, so this triggers the "Add" as "1" in the rightmost position.
Now, via the binary sample changed to for shortcuts and magnetSelection you would get
Shortcut 4 = 0100
Magnet 8 = 1000
resulting in 12
OR'd 12 = 1100
So now the test will properly recognize one or the other.