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
        }