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(); }
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(); }
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(); }
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(); }
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(); }
public void It_should_return_true_when_only_the_flag_itself_is_set() { const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.Second; value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Second).Should().BeTrue(); }
public void It_should_return_false_when_no_flags_are_set() { const TestTargetFilledUnsignedFlagsEnum value = TestTargetFilledUnsignedFlagsEnum.None; value.IsFlagSet(TestTargetFilledUnsignedFlagsEnum.Fifth).Should().BeFalse(); }
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); }