public void TestSetFlagWithEnum() { ExX x = ExX.A | ExX.D; ExX newX = x.SetFlag(ExX.B); Assert.IsTrue((newX & ExX.A) == ExX.A, "A not set in ExX"); Assert.IsTrue((newX & ExX.B) == ExX.B, "B not set in ExX"); Assert.IsFalse((newX & ExX.C) == ExX.C, "C set in ExX is unexpected"); Assert.IsTrue((newX & ExX.D) == ExX.D, "D not set in ExX"); newX = x.SetFlag(ExX.None); Assert.IsTrue(newX == x); x = ExX.None; newX = x.SetFlag(ExX.B); Assert.IsFalse((newX & ExX.A) == ExX.A, "A set in ExX is unexpected"); Assert.IsTrue((newX & ExX.B) == ExX.B, "B not set in ExX"); Assert.IsFalse((newX & ExX.C) == ExX.C, "C set in ExX is unexpected"); Assert.IsFalse((newX & ExX.D) == ExX.D, "D set in ExX is unexpected"); }
public void TestSetFlagWithEnumExpectException() { ExX x = ExX.A | ExX.D; x.SetFlag(X.B); }