summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2012-05-22 00:51:59 +0200
committermanuel <manuel@mausz.at>2012-05-22 00:51:59 +0200
commit9b8deee05d2598ecedce6b5ad5cda144f20ac255 (patch)
tree506dfc2e62aff4b5420315744e77bc33e4c5d282
parent85ac51660b298681ba3dcaee9def5f1e5f2c5284 (diff)
downloadffp-9b8deee05d2598ecedce6b5ad5cda144f20ac255.tar.gz
ffp-9b8deee05d2598ecedce6b5ad5cda144f20ac255.tar.bz2
ffp-9b8deee05d2598ecedce6b5ad5cda144f20ac255.zip
totycro said: fix buffer::insert
-rw-r--r--AufgabeFFP7.hs2
-rwxr-xr-xTestAufgabeFFP7.hs10
2 files changed, 5 insertions, 7 deletions
diff --git a/AufgabeFFP7.hs b/AufgabeFFP7.hs
index 091cb49..4ac8ebd 100644
--- a/AufgabeFFP7.hs
+++ b/AufgabeFFP7.hs
@@ -13,7 +13,7 @@ empty = (0, "")
13 13
14-- insert character before cursor 14-- insert character before cursor
15insert :: Char -> Buffer -> Buffer 15insert :: Char -> Buffer -> Buffer
16insert c (cur, buf) = (min (length buf + 1) (max (cur - 1) 0), buf1 ++ [c] ++ buf2) 16insert c (cur, buf) = (min (length buf + 1) (max (cur + 1) 1), buf1 ++ [c] ++ buf2)
17 where 17 where
18 (buf1, buf2) = splitAt cur buf 18 (buf1, buf2) = splitAt cur buf
19 19
diff --git a/TestAufgabeFFP7.hs b/TestAufgabeFFP7.hs
index 16952cb..1bbd10e 100755
--- a/TestAufgabeFFP7.hs
+++ b/TestAufgabeFFP7.hs
@@ -13,15 +13,13 @@ cases1 = TestLabel "buffer" $ TestList [
13 TestCase $ assertEqual "empty" (0, "") 13 TestCase $ assertEqual "empty" (0, "")
14 (empty), 14 (empty),
15 15
16 TestCase $ assertEqual "insert1" (0, "a") 16 TestCase $ assertEqual "insert1" (1, "a")
17 (insert 'a' empty), 17 (insert 'a' empty),
18 TestCase $ assertEqual "insert2" (0, "ba") 18 TestCase $ assertEqual "insert2" (2, "ab")
19 (insert 'b' (insert 'a' empty)), 19 (insert 'b' (insert 'a' empty)),
20 TestCase $ assertEqual "insert3" (0, "ba") 20 TestCase $ assertEqual "insert3" (1, "ba")
21 (insert 'b' (insert 'a' empty)),
22 TestCase $ assertEqual "insert4" (0, "ba")
23 (insert 'b' (-100, "a")), 21 (insert 'b' (-100, "a")),
24 TestCase $ assertEqual "insert5" (2, "ab") 22 TestCase $ assertEqual "insert4" (2, "ab")
25 (insert 'b' (100, "a")), 23 (insert 'b' (100, "a")),
26 24
27 TestCase $ assertEqual "delete1" (0, "bc") 25 TestCase $ assertEqual "delete1" (0, "bc")