(hissp.basic.._macro_.prelude) (deftype TestLivesort (unittest..TestCase) setUp (lambda (self) (attach self : input-buf (list) output-buf (list) ls (livesort_hssp.livesort..Livesort self.input-buf self.output-buf.append 4 8))) tearDown (lambda (self) (delattr self 'ls) (delattr self 'output-buf) (delattr self 'input-buf)) test_Livesort (lambda (self) (cascade self (.assertEqual self.ls.next-line self.input-buf) (.assertEqual self.ls.print self.output-buf.append) (.assertEqual self.ls.height 4) (.assertEqual self.ls.width 8) (.assertFalse self.ls.lines) (.assertTrue self.ls.screen)) (any-for line self.ls.screen (not (self.assertEqual None line)))) test_sortline (lambda (self) (self.assertFalse self.ls.lines) (self.ls.sortline "line 2") (self.assertEqual self.ls.lines (list '(.#"line 2"))) (self.ls.sortline "line 1") (self.assertEqual self.ls.lines (list '(.#"line 1" .#"line 2")))) test_render (lambda (self) (self.ls.sortline "line 1") (self.assertEqual (self.ls.render) (list '(.#"line 1")))) test_display (lambda (self) ;; I got fed up trying to write this sensibly, will go away after refacor (self.assertEqual "   " (self.ls.display)) (self.ls.sortline "line 1") (self.assertEqual "line 1 " (self.ls.display))) test_livesort ; note (unfortunate) capitalization (lambda (self) (self.input-buf.append "line 1") (self.ls.livesort) _#(self.assertEqual self.output-buf (list '(.#"line 1")))))