def METHOD_NAME():
    reset()
    with Tracking():
        register('test1', {'track_this': 'bibcode1'})
        register('test1', {'software': 'bibcode2'})
        register('test1', {'track_this_too': 'bibcode'})
        register('test2', {'software': 'bibcode'})
        register('test3', {'track_this': 'bibcode',
                           'software': 'bibcode'})
    assert set(['sbpy:', 'software:', '2019JOSS....4.1426M',
                'test1:', 'software:', 'bibcode2',
                'test2:', 'software:', 'bibcode',
                'test3:', 'software:',
                'bibcode']) == set(show(filter='software').split())
    # different builds will have different orders for bibcode 1 and 2, to
    # avoid the build failing because of this we use sets
    stop()
    reset()