trackler 2.0.8.50 → 2.0.8.51
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/common/exercises/isogram/canonical-data.json +7 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/purescript/config.json +7 -0
- data/tracks/purescript/exercises/accumulate/bower.json +1 -1
- data/tracks/purescript/exercises/diamond/bower.json +17 -0
- data/tracks/purescript/exercises/diamond/examples/src/Diamond.purs +29 -0
- data/tracks/purescript/exercises/diamond/src/Diamond.purs +3 -0
- data/tracks/purescript/exercises/diamond/test/Main.purs +100 -0
- data/tracks/purescript/exercises/pangram/bower.json +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0528d77340cb5b9a9f02710c583d8b31db8d2669
|
4
|
+
data.tar.gz: 1db7cfbbbb6de5313ec61298d8f738f7173406d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7deeb0de3270b5d18d9f71046f064e99bc806ffd8d4eb422e446a6fbb3361ea69707266a4e1ce28763ec1869a4d7fb84c53a4a9ff3b3bb9a96354a6491fc885c
|
7
|
+
data.tar.gz: a01de83dfdcf46d25ebcaf286db4bcdfc509310b0e91c9345207a6957e6ae0855286e739c4f7832264d86fbfbcd046c8ac38b8c8830d96193cfd597abde8a144
|
@@ -3,7 +3,7 @@
|
|
3
3
|
"comments": [
|
4
4
|
"An isogram is a word or phrase without a repeating letter."
|
5
5
|
],
|
6
|
-
"version": "1.
|
6
|
+
"version": "1.1.0",
|
7
7
|
"cases": [
|
8
8
|
{
|
9
9
|
"description": "Check if the given string is an isogram",
|
@@ -58,6 +58,12 @@
|
|
58
58
|
"property": "isIsogram",
|
59
59
|
"input": "Emily Jung Schwartzkopf",
|
60
60
|
"expected": true
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"description": "duplicated character in the middle",
|
64
|
+
"property": "isIsogram",
|
65
|
+
"input": "accentor",
|
66
|
+
"expected": false
|
61
67
|
}
|
62
68
|
]
|
63
69
|
}
|
data/lib/trackler/version.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"name": "diamond",
|
3
|
+
"ignore": [
|
4
|
+
"**/.*",
|
5
|
+
"node_modules",
|
6
|
+
"bower_components",
|
7
|
+
"output"
|
8
|
+
],
|
9
|
+
"dependencies": {
|
10
|
+
"purescript-prelude": "^3.0.0",
|
11
|
+
"purescript-enums": "^3.0.0"
|
12
|
+
},
|
13
|
+
"devDependencies": {
|
14
|
+
"purescript-psci-support": "^3.0.0",
|
15
|
+
"purescript-test-unit": "^11.0.0"
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Diamond
|
2
|
+
(rows
|
3
|
+
) where
|
4
|
+
|
5
|
+
import Prelude
|
6
|
+
import Data.Array (drop, replicate, reverse)
|
7
|
+
import Data.Char (toCharCode)
|
8
|
+
import Data.Enum (enumFromTo)
|
9
|
+
import Data.String (fromCharArray, singleton)
|
10
|
+
|
11
|
+
spaces :: Int -> String
|
12
|
+
spaces width = fromCharArray $ replicate width ' '
|
13
|
+
|
14
|
+
mkRow :: Int -> Char -> String
|
15
|
+
mkRow width 'A' = spaces width <> "A" <> spaces width
|
16
|
+
mkRow width ch = spaces side
|
17
|
+
<> singleton ch
|
18
|
+
<> spaces mid
|
19
|
+
<> singleton ch
|
20
|
+
<> spaces side
|
21
|
+
where depth = toCharCode ch - toCharCode 'A'
|
22
|
+
side = width - depth
|
23
|
+
mid = 2 * depth - 1
|
24
|
+
|
25
|
+
rows :: Char -> Array String
|
26
|
+
rows end = map (mkRow width) chars
|
27
|
+
where width = toCharCode end - toCharCode 'A'
|
28
|
+
top = enumFromTo 'A' end
|
29
|
+
chars = top <> (reverse top # drop 1)
|
@@ -0,0 +1,100 @@
|
|
1
|
+
module Test.Main where
|
2
|
+
|
3
|
+
import Prelude
|
4
|
+
import Control.Monad.Eff (Eff)
|
5
|
+
import Data.Maybe (Maybe(..))
|
6
|
+
import Test.Unit.Assert as Assert
|
7
|
+
import Test.Unit (suite, test)
|
8
|
+
import Test.Unit.Main (runTest)
|
9
|
+
import Diamond (rows)
|
10
|
+
|
11
|
+
main :: Eff _ Unit
|
12
|
+
main = runTest do
|
13
|
+
suite "Diamond.rows" do
|
14
|
+
|
15
|
+
test "Degenerate case with a single 'A' row" $
|
16
|
+
Assert.equal [ "A"
|
17
|
+
]
|
18
|
+
(rows 'A')
|
19
|
+
|
20
|
+
test "Degenerate case with no row containing 3 distinct groups of spaces" $
|
21
|
+
Assert.equal [ " A "
|
22
|
+
, "B B"
|
23
|
+
, " A "
|
24
|
+
]
|
25
|
+
(rows 'B')
|
26
|
+
|
27
|
+
test "Smallest non-degenerate case with odd diamond side length" $
|
28
|
+
Assert.equal [ " A "
|
29
|
+
, " B B "
|
30
|
+
, "C C"
|
31
|
+
, " B B "
|
32
|
+
, " A "
|
33
|
+
]
|
34
|
+
(rows 'C')
|
35
|
+
|
36
|
+
test "Smallest non-degenerate case with even diamond side length" $
|
37
|
+
Assert.equal [ " A "
|
38
|
+
, " B B "
|
39
|
+
, " C C "
|
40
|
+
, "D D"
|
41
|
+
, " C C "
|
42
|
+
, " B B "
|
43
|
+
, " A "
|
44
|
+
]
|
45
|
+
(rows 'D')
|
46
|
+
|
47
|
+
test "Largest possible diamond" $
|
48
|
+
Assert.equal [ " A "
|
49
|
+
, " B B "
|
50
|
+
, " C C "
|
51
|
+
, " D D "
|
52
|
+
, " E E "
|
53
|
+
, " F F "
|
54
|
+
, " G G "
|
55
|
+
, " H H "
|
56
|
+
, " I I "
|
57
|
+
, " J J "
|
58
|
+
, " K K "
|
59
|
+
, " L L "
|
60
|
+
, " M M "
|
61
|
+
, " N N "
|
62
|
+
, " O O "
|
63
|
+
, " P P "
|
64
|
+
, " Q Q "
|
65
|
+
, " R R "
|
66
|
+
, " S S "
|
67
|
+
, " T T "
|
68
|
+
, " U U "
|
69
|
+
, " V V "
|
70
|
+
, " W W "
|
71
|
+
, " X X "
|
72
|
+
, " Y Y "
|
73
|
+
, "Z Z"
|
74
|
+
, " Y Y "
|
75
|
+
, " X X "
|
76
|
+
, " W W "
|
77
|
+
, " V V "
|
78
|
+
, " U U "
|
79
|
+
, " T T "
|
80
|
+
, " S S "
|
81
|
+
, " R R "
|
82
|
+
, " Q Q "
|
83
|
+
, " P P "
|
84
|
+
, " O O "
|
85
|
+
, " N N "
|
86
|
+
, " M M "
|
87
|
+
, " L L "
|
88
|
+
, " K K "
|
89
|
+
, " J J "
|
90
|
+
, " I I "
|
91
|
+
, " H H "
|
92
|
+
, " G G "
|
93
|
+
, " F F "
|
94
|
+
, " E E "
|
95
|
+
, " D D "
|
96
|
+
, " C C "
|
97
|
+
, " B B "
|
98
|
+
, " A "
|
99
|
+
]
|
100
|
+
(rows 'Z')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.8.
|
4
|
+
version: 2.0.8.51
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
@@ -6627,6 +6627,10 @@ files:
|
|
6627
6627
|
- tracks/purescript/exercises/bracket-push/examples/src/BracketPush.purs
|
6628
6628
|
- tracks/purescript/exercises/bracket-push/src/BracketPush.purs
|
6629
6629
|
- tracks/purescript/exercises/bracket-push/test/Main.purs
|
6630
|
+
- tracks/purescript/exercises/diamond/bower.json
|
6631
|
+
- tracks/purescript/exercises/diamond/examples/src/Diamond.purs
|
6632
|
+
- tracks/purescript/exercises/diamond/src/Diamond.purs
|
6633
|
+
- tracks/purescript/exercises/diamond/test/Main.purs
|
6630
6634
|
- tracks/purescript/exercises/difference-of-squares/bower.json
|
6631
6635
|
- tracks/purescript/exercises/difference-of-squares/examples/src/DifferenceOfSquares.purs
|
6632
6636
|
- tracks/purescript/exercises/difference-of-squares/src/DifferenceOfSquares.purs
|