public void GivenInvalidKey_WhenCreatingEnumValueObject_ThenNoReturn()
        {
            // Act
            var maybe = TestEnumValueObject.FromId("InvalidKey");

            // Assert
            maybe.Should().Be(Maybe <TestEnumValueObject> .None);
        }
        public void GivenPossibleKey_WhenCheckingIfKeyIsEnumValueObject_ThenShouldReturnTrueIfKeyRecognized(string possibleId, bool isIn)
        {
            // Act
            var isEnumValueObject = TestEnumValueObject.Is(possibleId);

            // Assert
            isEnumValueObject.Should().Be(isIn);
        }
        public void GivenEnumValueObject_WhenComparingEqualOnes_ThenEqual()
        {
            // Arrange
            var enum1     = TestEnumValueObject.One;
            var alsoEnum1 = TestEnumValueObject.FromId("One").Value;

            // Act
            var isEqual = enum1 == alsoEnum1;

            isEqual.Should().BeTrue();
        }