human
I wrote the below code

    global called
    for (x, expected_msg) in [[[], 'expected    Type,    got    list'], [(None,), 'expected    Type,    got    tuple'], [True, 'expected    Type,    got    bool'], [False, 'expected    Type,    got    bool'], [3.14, 'expected    Type,    got    float'], ['a    string', 'expected    Type,    got    str'], [System.UInt16(32), 'expected    Type,    got    UInt16'], [1L, 'expected    Type,    got    long']]:
        called = False
        class MyType(type, ):
            def __clrtype__(self):
                global called
                called = True
                return x
        try:
            class X(object, ):
                __metaclass__ = MyType
            Fail(('Arbitrary    return    values    of    __clrtype__    should    not    be    allowed:    ' + str(x)))
        except TypeError as e:
            AreEqual(e.message, expected_msg)
        finally:
            AreEqual(called, True)
    called = False
    class MyType(type, ):
        def __clrtype__(self):
            global called
            called = True
            return None
    try:
        class X(object, ):
            __metaclass__ = MyType
        Fail('Arbitrary    return    values    of    __clrtype__    are    not    allowed:    ', (+ str(x)))
    except ValueError as e:
        AreEqual(e.message, '__clrtype__    must    return    a    type,    not    None')
    finally:
        AreEqual(called, True)

What's a good function header?
 ... Here's a good function header?
assistant
#Here's a good function header.

def test_neg_clrtype_returns_nonsense_values():