Beispiel #1
0
            public void It_should_return_true_when_multiple_set_flags_are_queried()
            {
                const TestTargetFilledUnsignedFlagsEnum value =
                    TestTargetFilledUnsignedFlagsEnum.First | TestTargetFilledUnsignedFlagsEnum.Second | TestTargetFilledUnsignedFlagsEnum.Third;

                value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.First | TestTargetFilledUnsignedFlagsEnum.Third).Should().BeTrue();
            }
Beispiel #2
0
            public void It_should_return_true_when_many_flags_are_set_including_the_examined_flag()
            {
                const TestTargetFilledUnsignedFlagsEnum value =
                    TestTargetFilledUnsignedFlagsEnum.First | TestTargetFilledUnsignedFlagsEnum.Second | TestTargetFilledUnsignedFlagsEnum.Third;

                value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Second).Should().BeTrue();
            }
Beispiel #3
0
            public void It_should_return_false_when_multiple_flags_are_set_excluding_the_examined_flag()
            {
                const TestTargetFilledUnsignedFlagsEnum value =
                    TestTargetFilledUnsignedFlagsEnum.First | TestTargetFilledUnsignedFlagsEnum.Third;

                value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Second).Should().BeFalse();
            }
Beispiel #4
0
            public void It_should_return_false_when_multiple_mixed_flags_are_queried()
            {
                const TestTargetFilledUnsignedFlagsEnum value =
                    TestTargetFilledUnsignedFlagsEnum.First | TestTargetFilledUnsignedFlagsEnum.Second | TestTargetFilledUnsignedFlagsEnum.Third;

                value.IsFlagSet(
                    TestTargetFilledUnsignedFlagsEnum.First |
                    TestTargetFilledUnsignedFlagsEnum.Third |
                    TestTargetFilledUnsignedFlagsEnum.Fourth)
                .Should()
                .BeFalse();
            }
Beispiel #5
0
            public void It_return_true_when_the_enum_value_is_valid()
            {
                // ensure UInt64.MaxValue does not cause overflow.
                const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.All;

                value.IsValidFlagsValue().Should().BeTrue();

                // test more typical scenarios

                long allFlags = 0;

                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledSByteFlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var sbyteValue = (TestTargetUnfilledSByteFlagsEnum)allFlags;

                sbyteValue.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledByteFlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var byteValue = (TestTargetUnfilledByteFlagsEnum)allFlags;

                byteValue.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt16FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var int16Value = (TestTargetUnfilledInt16FlagsEnum)allFlags;

                int16Value.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt16FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var uint16Value = (TestTargetUnfilledUInt16FlagsEnum)allFlags;

                uint16Value.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt32FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var int32Value = (TestTargetUnfilledInt32FlagsEnum)allFlags;

                int32Value.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt32FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var uint32Value = (TestTargetUnfilledUInt32FlagsEnum)allFlags;

                uint32Value.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt64FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var int64Value = (TestTargetUnfilledInt64FlagsEnum)allFlags;

                int64Value.IsValidFlagsValue().Should().BeTrue();

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt64FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                var uint64Value = (TestTargetUnfilledUInt64FlagsEnum)allFlags;

                uint64Value.IsValidFlagsValue().Should().BeTrue();
            }
Beispiel #6
0
            public void It_should_return_true_when_only_the_flag_itself_is_set()
            {
                const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.Second;

                value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Second).Should().BeTrue();
            }
Beispiel #7
0
            public void It_should_return_false_when_no_flags_are_set()
            {
                const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.None;

                value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Fifth).Should().BeFalse();
            }
Beispiel #8
0
            public void It_should_not_throw_when_the_enum_value_is_valid()
            {
                const string parameterName = "arg";

                // ensure UInt64.MaxValue does not cause overflow.
                const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.All;

                value.ArgumentMustBeValidFlagsEnumValue(parameterName);

                // test more typical scenarios

                long allFlags = 0;

                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledSByteFlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledSByteFlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledByteFlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledByteFlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt16FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledInt16FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt16FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledUInt16FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt32FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledInt32FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt32FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledUInt32FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledInt64FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledInt64FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);

                // ---

                allFlags = 0;
                foreach (var flag in Enum.GetValues(typeof(TestTargetUnfilledUInt64FlagsEnum)))
                {
                    allFlags |= Convert.ToInt64(flag, CultureInfo.InvariantCulture);
                }

                allFlags.Should().Be(31);
                ((TestTargetUnfilledUInt64FlagsEnum)allFlags).ArgumentMustBeValidFlagsEnumValue(parameterName);
            }