Esempio n. 1
0
def test():
    count = 0
    mismatch = 0
    for key, value in test_data:
        # if not "  " in key:
        # 	continue

        # print(key, value)
        p = TitleParser(key)
        vol, chp, frag, post = p.getVolume(), p.getChapter(), p.getFragment(
        ), p.getPostfix()

        if frag != None:
            consolidated_chp = (frag / 100.0) + 0 if chp == None else chp
        else:
            consolidated_chp = chp
        if len(value) == 2:
            e_chp, e_vol = value
            if e_chp == 0.0 and consolidated_chp == None:
                e_chp = None
            if vol != e_vol or consolidated_chp != e_chp:
                mismatch += 1
                print(p)
                print("Parsed: v{}, c{}".format(vol, consolidated_chp))
                print("Expect: v{}, c{}".format(e_vol, e_chp))
                print()
        elif len(value) == 4:
            e_vol, e_chp, e_frag, e_post = value
            if e_chp == 0.0 and chp == None:
                e_chp = None
            if vol != e_vol or chp != e_chp or frag != e_frag:
                mismatch += 1
                print(p)
                print("Parsed: v{}, c{}, f{}".format(vol, chp, frag))
                print("Expect: v{}, c{}, f{}".format(e_vol, e_chp, e_frag))
                print()
            if e_post != post:
                mismatch += 1
                print(p)
                print("Parsed: {}".format(post))
                print("Expect: {}".format(e_post))
            # for number in p.getNumbers():
            # 	print(number)
            # 	print("Preceeded by:", number.lastData())
        count += 1

        # if len(value) == 2:
        # 	assert value == extractChapterVol(key), "Wat? Values: '{}', '{}', '{}'".format(key, value, extractChapterVol(key))
        # elif len(value) == 4:
        # 	assert value == extractVolChapterFragmentPostfix(key), "Wat? Values: '{}', '{}', '{}'".format(key, value, extractVolChapterFragmentPostfix(key))
        # else:
        # 	print("Wat?")
        # 	print(key, value)
    # print("All matches passed!")
    print("{} Items with parsed output".format(count))
    print("{} Items mismatch in new parser".format(mismatch))
    print("Total items: {}".format(len(test_data)))