Example #1
0
        private static IEnumerable <SourceLevels> GetOnSourceLevels(SourceLevels sourceLevel, bool on)
        {
            // SourceSwitch determines if a particular level gets traced based on whether its bit is
            // set in the current level. For example, if the current level was Warning (0000 0111),
            // then Warning (0000 0111), Error (0000 0011), and Critical (0000 0001) all get traced.

            var levels = TestServices.GetEnumValues <SourceLevels>();

            foreach (var level in levels)
            {
                if (level == 0)
                {
                    continue;
                }

                if (((level & sourceLevel) == sourceLevel) == on)
                {
                    yield return(level);
                }
            }

            if (!on)
            {
                yield return(SourceLevels.Off);
            }
        }
Example #2
0
        public static IEnumerable <TEnum> GetEnumValues <TEnum>() where TEnum : struct
        {
            var values = TestServices.GetEnumValues <TEnum>();

            foreach (TEnum value in values)
            {
                yield return(value);
            }
        }
Example #3
0
        private static Tuple <TEnum, TEnum> GetEnumBounds <TEnum>() where TEnum : struct
        {
            var values = TestServices.GetEnumValues <TEnum>();

            return(new Tuple <TEnum, TEnum>(values.First(), values.Last()));
        }