summaryrefslogtreecommitdiff
path: root/files/practicum/BinTreeTest.icl
diff options
context:
space:
mode:
Diffstat (limited to 'files/practicum/BinTreeTest.icl')
-rw-r--r--files/practicum/BinTreeTest.icl42
1 files changed, 0 insertions, 42 deletions
diff --git a/files/practicum/BinTreeTest.icl b/files/practicum/BinTreeTest.icl
deleted file mode 100644
index 0cc7b48..0000000
--- a/files/practicum/BinTreeTest.icl
+++ /dev/null
@@ -1,42 +0,0 @@
-module BinTreeTest
-
-/* Test module BinTree
- Voor werken met Gast:
- (*) gebruik Environment 'Gast'
- (*) zet Project Options op 'Basic Values Only' en '2M' Maximum Heap Size
-*/
-
-import gast
-import BinTree
-
-Start
- = testn 1000
- (\n -> let n` = abs (n/2) in
- nodes_vs_leaves n` /\
- leaves_vs_diepte n` /\
- True
- )
-
-nodes_vs_leaves :: Int -> Property
-nodes_vs_leaves n = name "nodes_vs_leaves"
- (nodes t == leaves t - 1)
-where t = lego_tree n
-
-leaves_vs_diepte :: Int -> Property
-leaves_vs_diepte n = name "leaves_vs_diepte"
- (leaves t <= 2^(diepte t))
-where t = lego_tree n
-
-// Function to construct semi-random trees, using those from BinTree:
-trees =: [t0,t1,t2,t3,t4,t5,t6,t7]
-nr_of_trees =: length trees
-
-lego_tree :: Int -> Tree Int
-lego_tree 0 = t0
-lego_tree n = glue n (trees !! (n rem nr_of_trees)) (lego_tree (n/10))
-where
- glue :: !Int !(Tree Int) !(Tree Int) -> Tree Int
- glue n t Leaf = t
- glue n t (Node x l r)
- | isEven n = Node x (glue (n/10) t l) r
- | otherwise = Node x l (glue (n/10) t r)