summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2012-05-20 17:35:34 +0200
committermanuel <manuel@mausz.at>2012-05-20 17:35:34 +0200
commitaaf1f2f88fcb8344b7d0582b47715927d2ca1294 (patch)
treec7dec21438b6bf95cbe5a15c208bf9e1f59fdabd
parent516e6408e589e1211b6b86948e6f3c44052872b8 (diff)
downloadffp-aaf1f2f88fcb8344b7d0582b47715927d2ca1294.tar.gz
ffp-aaf1f2f88fcb8344b7d0582b47715927d2ca1294.tar.bz2
ffp-aaf1f2f88fcb8344b7d0582b47715927d2ca1294.zip
skeleton for exercise 7
-rw-r--r--AufgabeFFP7.hs74
-rw-r--r--TestAufgabeFFP7.hs19
2 files changed, 93 insertions, 0 deletions
diff --git a/AufgabeFFP7.hs b/AufgabeFFP7.hs
new file mode 100644
index 0000000..9d05db3
--- /dev/null
+++ b/AufgabeFFP7.hs
@@ -0,0 +1,74 @@
1module AufgabeFFP7
2where
3
4type Buffer = (Int, String)
5
6-- the empty buffer
7--TODO empty :: Buffer
8
9-- insert character before cursor
10--TODO insert :: Char -> Buffer -> Buffer
11
12-- delete character before cursor
13--TODO delete :: Buffer -> Buffer
14
15-- move cursor left one character
16--TODO left :: Buffer -> Buffer
17
18-- move cursor right one character
19--TODO right :: Buffer -> Buffer
20
21-- is cursor at left end?
22--TODO atLeft :: Buffer -> Bool
23
24-- is cursor at right end?
25--TODO atRight :: Buffer -> Bool
26
27--------------------------------------------------------------------------------
28
29type BufferI = (String, String)
30
31-- the empty buffer
32--TODO emptyI :: BufferI
33
34-- insert character before cursor
35--TODO insertI :: Char -> BufferI -> BufferI
36
37-- delete character before cursor
38--TODO deleteI :: BufferI -> BufferI
39
40-- move cursor left one character
41--TODO leftI :: BufferI -> BufferI
42
43-- move cursor right one character
44--TODO rightI :: BufferI -> BufferI
45
46-- is cursor at left end?
47--TODO atLeftI :: BufferI -> Bool
48
49-- is cursor at right end?
50--TODO atRightI :: BufferI -> Bool
51
52--------------------------------------------------------------------------------
53
54--TODO retrieve :: BufferI -> Buffer
55
56--------------------------------------------------------------------------------
57
58--TODO: quicheck stuff
59
60--------------------------------------------------------------------------------
61
62--TODO ssfn ::
63--TODO sap ::
64--TODO minfree ::
65--TODO removeDuplicates ::
66
67--------------------------------------------------------------------------------
68
69type Nat = [Int]
70
71--TODO prop_ssfn_eq_minfree_a :: Nat -> Bool
72
73--TODO prop_ssfn_eq_minfree_b :: Nat -> Property
74
diff --git a/TestAufgabeFFP7.hs b/TestAufgabeFFP7.hs
new file mode 100644
index 0000000..1262c23
--- /dev/null
+++ b/TestAufgabeFFP7.hs
@@ -0,0 +1,19 @@
1module Main where
2
3import Test.HUnit
4import Control.Monad
5import AufgabeFFP7
6
7cases1 = TestLabel "TODO" $ TestList [
8 TestCase $ assertEqual "TODO" (result) (call)
9 ...
10 ]
11
12--------------------------------------------------------------------------------
13
14tests :: [Test]
15tests = [cases1, ...]
16
17main = do
18 forM tests $ \test ->
19 runTestTT test