public void T01_Flags_01_Add() { TestHelpers.CatchUnexpected(() => { TestEnum t = TestEnum.None; Assert.AreEqual(TestEnum.None, t); t = t.AddFlag(TestEnum.One); t = t.AddFlag(TestEnum.Three); t = t.AddFlag(TestEnum.Six); Assert.True(t.HasFlag(TestEnum.None)); Assert.True(t.HasFlag(TestEnum.One)); Assert.True(t.HasFlag(TestEnum.Three)); Assert.True(t.HasFlag(TestEnum.Six)); }); }
public void Native() { if (Value1AndValue2.HasFlag(TestEnum.Value4)) { throw new ArgumentException(); } }
public void T01_Flags_02_Remove() { TestHelpers.CatchUnexpected(() => { TestEnum t = TestEnum.Four | TestEnum.Eight | TestEnum.Two; Assert.True(t.HasFlag(TestEnum.None)); Assert.True(t.HasFlag(TestEnum.Four)); Assert.True(t.HasFlag(TestEnum.Eight)); Assert.True(t.HasFlag(TestEnum.Two)); t = t.RemoveFlag(TestEnum.Eight); t = t.RemoveFlag(TestEnum.Four); Assert.True(t.HasFlag(TestEnum.None)); Assert.False(t.HasFlag(TestEnum.Four)); Assert.False(t.HasFlag(TestEnum.Eight)); Assert.True(t.HasFlag(TestEnum.Two)); t = t.RemoveFlag(TestEnum.Two); Assert.False(t.HasFlag(TestEnum.Two)); t = t.RemoveFlag(TestEnum.None); // None is 0 so it will always be there even if you call remove Assert.True(t.HasFlag(TestEnum.None)); }); }
public bool DotNetHasFlagsTrue() { return(EnumValue.HasFlag(TestEnum.Fourth)); }