From 2a6c449262b3669d5df77a112d1f99b03fcff65c Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 13 Feb 2014 11:18:42 -0800 Subject: [PATCH] add tests module --- hyphenate/tests.rkt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 hyphenate/tests.rkt diff --git a/hyphenate/tests.rkt b/hyphenate/tests.rkt new file mode 100644 index 00000000..143ac860 --- /dev/null +++ b/hyphenate/tests.rkt @@ -0,0 +1,22 @@ +#lang racket/base +(require "main.rkt") + +(require rackunit) + +(require/expose "main.rkt" (word->hyphenation-points)) + +(check-equal? (hyphenate "polymorphism") "poly\u00ADmor\u00ADphism") +(check-equal? (hyphenate "polymorphism" #:min-length 100) "polymorphism") +(check-equal? (hyphenate "ugly" #:min-length 1) "ug\u00ADly") +(check-equal? (unhyphenate "poly\u00ADmor\u00ADphism") "polymorphism") +(check-equal? (hyphenatef "polymorphism" (λ(x) #f)) "polymorphism") +(check-equal? (hyphenate "polymorphism" #\-) "poly-mor-phism") +(check-equal? (hyphenate "polymorphism" "foo") "polyfoomorfoophism") +(check-equal? (unhyphenate "polyfoomorfoophism" "foo") "polymorphism") +(check-equal? (hyphenate "polymorphism" #\* #:exceptions '("polymo-rphism")) "polymo*rphism") +(check-equal? (hyphenate "circular polymorphism squandering") "cir\u00ADcu\u00ADlar poly\u00ADmor\u00ADphism squan\u00ADder\u00ADing") +(check-equal? (hyphenate "present project") "present project") ; exception words +;; test these last so exceptions have been set up already +(check-equal? (word->hyphenation-points "polymorphism") '("poly" "mor" "phism")) +(check-equal? (word->hyphenation-points "present") '("present")) ; exception word +