def METHOD_NAME():
    reset_uid('global')
    with label_scope('param'):
        label1 = auto_label()
        label2 = auto_label()
        with label_scope() as scope:
            assert scope.activated
            label3 = auto_label()
            label4 = auto_label()
        assert not scope.activated
        label5 = auto_label()
        with label_scope('another'):
            label6 = auto_label('another')
        label7 = auto_label()
    assert label1 == 'param/1'
    assert label2 == 'param/2'
    assert label3 == 'param/3/1'
    assert label4 == 'param/3/2'
    assert label5 == 'param/4'
    assert label6 == 'param/another/another'
    assert label7 == 'param/5'
    with label_scope('model'):
        label1 = auto_label()       # model/1
        label2 = auto_label()       # model/2
        label3 = auto_label('foo')  # model/foo
        with label_scope():
            label4 = auto_label()   # model/3/1
            label5 = auto_label()   # model/3/2
        with label_scope('another'):
            label6 = auto_label()   # model/another/1
        with label_scope('model'):
            label7 = auto_label()   # model/model/1
    with label_scope('model'):
        label8 = auto_label()       # model/1, because the counter is reset
    with label_scope():
        label9 = auto_label()       # global/1/1
    assert label1 == 'model/1'
    assert label2 == 'model/2'
    assert label3 == 'model/foo'
    assert label4 == 'model/3/1'
    assert label5 == 'model/3/2'
    assert label6 == 'model/another/1'
    assert label7 == 'model/model/1'
    assert label8 == 'model/1'
    assert label9 == 'global/1/1'