public void Should_return_derived_type() { EnumWithDerivedType.Get(2).Should().Be(EnumWithDerivedType.ItemOfDerivedType); AbstractEnum.Get(1).Should().Be(AbstractEnum.Item); ExtensibleTestEnum.Get("DerivedItem").Should().Be(ExtensibleTestEnum.DerivedItem); ExtendedTestEnum.Get("DerivedItem").Should().Be(ExtendedTestEnum.DerivedItem); DifferentAssemblyExtendedTestEnum.Get("DerivedItem").Should().Be(DifferentAssemblyExtendedTestEnum.DerivedItem); }
public void Should_return_null_if_null_is_provided() { TestEnum.Get(null).Should().BeNull(); ValidTestEnum.Get(null).Should().BeNull(); ExtensibleTestEnum.Get(null).Should().BeNull(); ExtendedTestEnum.Get(null).Should().BeNull(); DifferentAssemblyExtendedTestEnum.Get(null).Should().BeNull(); ExtensibleTestValidatableEnum.Get(null).Should().BeNull(); ExtendedTestValidatableEnum.Get(null).Should().BeNull(); }
public void Should_return_false_if_null_is_provided() { EmptyEnum.TryGet(null, out var item).Should().BeFalse(); item.Should().BeNull(); ExtensibleTestEnum.TryGet(null, out var extensibleItem).Should().BeFalse(); extensibleItem.Should().BeNull(); ExtendedTestEnum.TryGet(null, out var extendedItem).Should().BeFalse(); extendedItem.Should().BeNull(); DifferentAssemblyExtendedTestEnum.TryGet(null, out var differentAssemblyExtendedItem).Should().BeFalse(); differentAssemblyExtendedItem.Should().BeNull(); }
public void Should_return_false_if_enum_dont_have_item_with_provided_key() { TestEnum.TryGet("unknown", out var item).Should().BeFalse(); item.Should().BeNull(); ExtensibleTestEnum.TryGet("unknown", out var extensibleItem).Should().BeFalse(); extensibleItem.Should().BeNull(); ExtendedTestEnum.TryGet("unknown", out var extendedItem).Should().BeFalse(); extendedItem.Should().BeNull(); DifferentAssemblyExtendedTestEnum.TryGet("unknown", out var differentAssemblyExtendedItem).Should().BeFalse(); differentAssemblyExtendedItem.Should().BeNull(); }
public void Should_throw_if_key_is_unknown_to_non_validatable_enum() { Action action = () => ValidTestEnum.Get("invalid"); action.Should().Throw <UnknownEnumIdentifierException>().WithMessage("There is no item of type 'ValidTestEnum' with the identifier 'invalid'."); action = () => ExtensibleTestEnum.Get("invalid"); action.Should().Throw <UnknownEnumIdentifierException>().WithMessage("There is no item of type 'ExtensibleTestEnum' with the identifier 'invalid'."); action = () => ExtendedTestEnum.Get("invalid"); action.Should().Throw <UnknownEnumIdentifierException>().WithMessage("There is no item of type 'ExtendedTestEnum' with the identifier 'invalid'."); action = () => DifferentAssemblyExtendedTestEnum.Get("invalid"); action.Should().Throw <UnknownEnumIdentifierException>().WithMessage("There is no item of type 'DifferentAssemblyExtendedTestEnum' with the identifier 'invalid'."); }
public void Should_return_item_with_provided_key() { TestEnum.Get("item2").Should().Be(TestEnum.Item2); ValidTestEnum.Get("item1").Should().Be(ValidTestEnum.Item1); ExtensibleTestEnum.Get("Item1").Should().Be(ExtensibleTestEnum.Item1); ExtendedTestEnum.Get("Item1").Should().Be(ExtendedTestEnum.Item1); ExtendedTestEnum.Get("Item2").Should().Be(ExtendedTestEnum.Item2); DifferentAssemblyExtendedTestEnum.Get("Item1").Should().Be(DifferentAssemblyExtendedTestEnum.Item1); DifferentAssemblyExtendedTestEnum.Get("Item2").Should().Be(DifferentAssemblyExtendedTestEnum.Item2); ExtensibleTestValidatableEnum.Get("Item1").Should().Be(ExtensibleTestValidatableEnum.Item1); ExtendedTestValidatableEnum.Get("Item1").Should().Be(ExtendedTestValidatableEnum.Item1); ExtendedTestValidatableEnum.Get("Item2").Should().Be(ExtendedTestValidatableEnum.Item2); }
public void Should_return_true_if_item_with_provided_key_exists() { TestEnum.TryGet("item2", out var item).Should().BeTrue(); item.Should().Be(TestEnum.Item2); ExtensibleTestEnum.TryGet("Item1", out var extensibleItem).Should().BeTrue(); extensibleItem.Should().Be(ExtensibleTestEnum.Item1); ExtendedTestEnum.TryGet("Item1", out var extendedItem).Should().BeTrue(); extendedItem.Should().Be(ExtendedTestEnum.Item1); ExtendedTestEnum.TryGet("Item2", out extendedItem).Should().BeTrue(); extendedItem.Should().Be(ExtendedTestEnum.Item2); DifferentAssemblyExtendedTestEnum.TryGet("Item1", out var differentAssemblyExtendedItem).Should().BeTrue(); differentAssemblyExtendedItem.Should().Be(DifferentAssemblyExtendedTestEnum.Item1); DifferentAssemblyExtendedTestEnum.TryGet("Item2", out differentAssemblyExtendedItem).Should().BeTrue(); differentAssemblyExtendedItem.Should().Be(DifferentAssemblyExtendedTestEnum.Item2); }