def METHOD_NAME(album, artist, song, tmp_path):
    directory = tmp_path / 'sub'
    directory.mkdir()
    f = directory / 'test.fuo'
    f.touch()
    coll = Collection(str(f))
    # test add album
    coll.add(album)
    expected = 'fuo://fake/albums/0\t# blue and green\n'
    text = f.read_text()
    assert text == expected
    # test add artist
    coll.add(artist)
    expected = 'fuo://fake/artists/0\t# mary\n' + expected
    text = f.read_text()
    assert text == expected
    # test add song
    coll.add(song)
    text = f.read_text()
    expected = ('fuo://fake/songs/0\t# hello world'
                ' - mary - blue and green - 10:00\n') + expected
    assert text == expected
    # test remove song
    coll.remove(song)
    assert reverse(song) not in f.read_text()
    assert song not in coll.models