'When a valid dictionary of attributes is provided, an
instance of ``AlgebraicType`` is provided.'

@given(args=ALGEBRAIC_TYPE_ARGUMENTS_STRATEGY)
@example(args={'state': States.ALLOWED, 'extra': False})
@example(args={'state': States.WITH_ATTRIBUTE, 'extra': True, 'one': True})
@example(args={'state': States.WITH_TWO_ATTRIBUTES, 'extra': True, 'one': True, 'two': False})
def test_valid_strategy(self, args):

    self.assertIsInstance(AlgebraicType(**args), AlgebraicType)
