X-Git-Url: https://git.korewanetadesu.com/?p=python-collate.git;a=blobdiff_plain;f=tests%2Frun.py;fp=tests%2Frun.py;h=fbe253b5973eb7f84717892c4566c25d6cfbad87;hp=0000000000000000000000000000000000000000;hb=33c37b23aee701dcf91616e7407820dea14a8077;hpb=9a7cf6459c40d53b58634f2df56386bf52c12f7c diff --git a/tests/run.py b/tests/run.py new file mode 100644 index 0000000..fbe253b --- /dev/null +++ b/tests/run.py @@ -0,0 +1,43 @@ +import glob +import os +import random + +import collate.icu + +def main(): + path = os.path.dirname(__file__) + for filename in glob.glob(os.path.join(path, "*", "*.list.txt")): + fileobj = open(os.path.join(path, filename), "rU") + locale = os.path.basename(os.path.dirname(filename)) + + original = [line.decode("utf-8").strip() + for line in fileobj + if line.strip()] + contents = list(original) + + collator = collate.icu.Collator(locale, "utf-8") + + ordered = sorted(contents, key=collator.sortemekey) + if ordered != original: + print "Failed to sort sorted", filename + print " " + "\n ".join([line.encode("utf-8") for line in ordered]) + continue + + contents.reverse() + ordered = sorted(contents, key=collator.sortemekey) + if ordered != original: + print "Failed to sort reversed", filename + print " " + "\n ".join([line.encode("utf-8") for line in ordered]) + continue + + random.shuffle(contents) + ordered = sorted(contents, key=collator.sortemekey) + if ordered != original: + print "Failed to sort shuffled", filename + print " " + "\n ".join([line.encode("utf-8") for line in ordered]) + continue + + print "Sorted", filename, "successfully." + +if __name__ == "__main__": + main()