public void ReturnsIEnumerableWithSingleValidValue()
        {
            SmartFlagTestEnum.TryFromValue(1, out var TEnum);

            var list = TEnum.ToList();

            Assert.Single(TEnum);
            Assert.Equal("One", list[0].Name);
        }
        public void ReturnsIEnumerableWithTwoValidValues()
        {
            SmartFlagTestEnum.TryFromValue(3, out var Tenum);

            var list = Tenum.ToList();

            Assert.Equal(2, Tenum.Count());
            Assert.Equal("One", list[0].Name);
            Assert.Equal("Two", list[1].Name);
        }
        public void OrBitwiseOperatorReturnsIEnumerableWithThreeSameValues()
        {
            SmartFlagTestEnum.TryFromValue((SmartFlagTestEnum.One | SmartFlagTestEnum.Two | SmartFlagTestEnum.Three), out var output);

            var list = output.ToList();

            Assert.Equal("One", list[0].Name);
            Assert.Equal("Two", list[1].Name);
            Assert.Equal("Three", list[2].Name);
        }
        public void OrBitwiseOperatorReturnsIEnumerableWithTwoSameValues()
        {
            SmartFlagTestEnum.TryFromValue(SmartFlagTestEnum.One | SmartFlagTestEnum.Two, out var enumList);

            var list = enumList.ToList();

            Assert.Equal(2, enumList.Count());
            Assert.Equal("One", list[0].Name);
            Assert.Equal("Two", list[1].ToString());
        }