Skip to content

Commit f05dae6

Browse files
authored
etl: Implement tests (#697)
* update starter file * implement tests * update config * rename test functions, make test descriptions identical to the ones from .toml [no important files changed]
1 parent f0192a5 commit f05dae6

File tree

3 files changed

+34
-28
lines changed

3 files changed

+34
-28
lines changed

exercises/practice/etl/.meta/config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"mathias",
1515
"rsslldnphy",
1616
"sjwarner-bp",
17-
"yurrriq"
17+
"yurrriq",
18+
"tasxatzial"
1819
],
1920
"files": {
2021
"solution": [

exercises/practice/etl/src/etl.clj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
(ns etl)
22

3-
(defn transform [source] ;; <- arglist goes here
4-
;; your code goes here
5-
)
3+
(defn transform
4+
[source]
5+
;; function body
6+
)
Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
11
(ns etl-test
2-
(:require [clojure.test :refer [deftest is]]
2+
(:require [clojure.test :refer [deftest testing is]]
33
etl))
44

5-
(deftest transform-one-value
6-
(is (= {"world" 1}
7-
(etl/transform {1 ["WORLD"]}))))
5+
(deftest transform_test_1
6+
(testing "single letter"
7+
(is (= {"a" 1}
8+
(etl/transform {1 ["A"]})))))
89

9-
(deftest transform-more-values
10-
(is (= {"world" 1 "gschoolers" 1}
11-
(etl/transform {1 ["WORLD" "GSCHOOLERS"]}))))
10+
(deftest transform_test_2
11+
(testing "single score with multiple letters"
12+
(is (= {"a" 1 "e" 1 "i" 1 "o" 1 "u" 1}
13+
(etl/transform {1 ["A" "E" "I" "O" "U"]})))))
1214

13-
(deftest more-keys
14-
(is (= {"apple" 1 "artichoke" 1 "boat" 2 "ballerina" 2}
15-
(etl/transform {1 ["APPLE" "ARTICHOKE"], 2 ["BOAT" "BALLERINA"]}))))
15+
(deftest transform_test_3
16+
(testing "multiple scores with multiple letters"
17+
(is (= {"a" 1 "d" 2 "e" 1 "g" 2}
18+
(etl/transform {1 ["A" "E"], 2 ["D" "G"]})))))
1619

17-
(deftest full-dataset
18-
(is (= {"a" 1 "b" 3 "c" 3 "d" 2 "e" 1
19-
"f" 4 "g" 2 "h" 4 "i" 1 "j" 8
20-
"k" 5 "l" 1 "m" 3 "n" 1 "o" 1
21-
"p" 3 "q" 10 "r" 1 "s" 1 "t" 1
22-
"u" 1 "v" 4 "w" 4 "x" 8 "y" 4
23-
"z" 10}
24-
(etl/transform {1 (re-seq #"\w" "AEIOULNRST")
25-
2 (re-seq #"\w" "DG")
26-
3 (re-seq #"\w" "BCMP")
27-
4 (re-seq #"\w" "FHVWY")
28-
5 (re-seq #"\w" "K")
29-
8 (re-seq #"\w" "JX")
30-
10 (re-seq #"\w" "QZ")}))))
20+
(deftest transform_test_4
21+
(testing "multiple scores with differing numbers of letters"
22+
(is (= {"a" 1 "b" 3 "c" 3 "d" 2 "e" 1
23+
"f" 4 "g" 2 "h" 4 "i" 1 "j" 8
24+
"k" 5 "l" 1 "m" 3 "n" 1 "o" 1
25+
"p" 3 "q" 10 "r" 1 "s" 1 "t" 1
26+
"u" 1 "v" 4 "w" 4 "x" 8 "y" 4
27+
"z" 10}
28+
(etl/transform {1 ["A" "E" "I" "O" "U" "L" "N" "R" "S" "T"]
29+
2 ["D" "G"]
30+
3 ["B" "C" "M" "P"]
31+
4 ["F" "H" "V" "W" "Y"]
32+
5 ["K"]
33+
8 ["J" "X"]
34+
10 ["Q" "Z"]})))))

0 commit comments

Comments
 (0)