Пример #1
0
 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));
     });
 }
Пример #2
0
 public void Native()
 {
     if (Value1AndValue2.HasFlag(TestEnum.Value4))
     {
         throw new ArgumentException();
     }
 }
Пример #3
0
        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));
            });
        }
Пример #4
0
 public bool DotNetHasFlagsTrue()
 {
     return(EnumValue.HasFlag(TestEnum.Fourth));
 }