public void AllFlagsDefinedTest() { Assert.IsTrue(Enum <TestLongEnum> .AllFlagsDefined(TestLongEnum.None)); Assert.IsTrue(Enum <TestLongEnum> .AllFlagsDefined(TestLongEnum.Alphabet)); Assert.IsFalse(Enum <TestLongEnum> .AllFlagsDefined(TestLongEnum.Max)); Assert.IsTrue(Enum <TestLongEnum> .AllFlagsDefined(TestLongEnum.Min)); Assert.IsTrue(Enum <TestIntEnum> .AllFlagsDefined(TestIntEnum.None)); // Zero is defined in TestIntEnum Assert.IsTrue(Enum <TestIntEnum> .AllFlagsDefined(TestIntEnum.Risky)); Assert.IsTrue(Enum <TestIntEnum> .AllFlagsDefined(1 << 31)); // -2147483648: This is the value of Risky Assert.IsFalse(Enum <TestIntEnum> .AllFlagsDefined(1U << 31)); // 2147483648: This is not defined (cannot be represented in int) Assert.IsFalse(Enum <TestIntEnum> .AllFlagsDefined(1L << 31)); // 2147483648 Assert.IsFalse(Enum <TestIntEnum> .AllFlagsDefined(1UL << 31)); // 2147483648 Assert.IsFalse(Enum <TestULongEnum> .AllFlagsDefined(0UL)); // Zero is not defined in TestULongEnum }