trackler 2.1.0.54 → 2.1.0.55
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/ecmascript/exercises/accumulate/package.json +10 -68
- data/tracks/ecmascript/exercises/acronym/package.json +10 -68
- data/tracks/ecmascript/exercises/all-your-base/package.json +10 -68
- data/tracks/ecmascript/exercises/allergies/package.json +10 -68
- data/tracks/ecmascript/exercises/alphametics/package.json +10 -68
- data/tracks/ecmascript/exercises/anagram/package.json +10 -68
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +10 -68
- data/tracks/ecmascript/exercises/beer-song/package.json +10 -68
- data/tracks/ecmascript/exercises/binary/package.json +10 -68
- data/tracks/ecmascript/exercises/binary-search/package.json +10 -68
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +10 -68
- data/tracks/ecmascript/exercises/bob/package.json +10 -68
- data/tracks/ecmascript/exercises/bracket-push/package.json +10 -68
- data/tracks/ecmascript/exercises/circular-buffer/package.json +10 -68
- data/tracks/ecmascript/exercises/clock/package.json +10 -68
- data/tracks/ecmascript/exercises/connect/package.json +10 -68
- data/tracks/ecmascript/exercises/crypto-square/package.json +10 -68
- data/tracks/ecmascript/exercises/custom-set/package.json +10 -68
- data/tracks/ecmascript/exercises/diamond/package.json +10 -68
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +10 -68
- data/tracks/ecmascript/exercises/diffie-hellman/package.json +10 -68
- data/tracks/ecmascript/exercises/etl/package.json +10 -68
- data/tracks/ecmascript/exercises/flatten-array/package.json +10 -68
- data/tracks/ecmascript/exercises/food-chain/package.json +10 -68
- data/tracks/ecmascript/exercises/gigasecond/package.json +10 -68
- data/tracks/ecmascript/exercises/grade-school/package.json +10 -68
- data/tracks/ecmascript/exercises/grains/package.json +10 -68
- data/tracks/ecmascript/exercises/hamming/package.json +10 -68
- data/tracks/ecmascript/exercises/hello-world/package.json +10 -68
- data/tracks/ecmascript/exercises/hexadecimal/package.json +10 -68
- data/tracks/ecmascript/exercises/isogram/package.json +10 -68
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +10 -68
- data/tracks/ecmascript/exercises/largest-series-product/package.json +10 -68
- data/tracks/ecmascript/exercises/leap/package.json +10 -68
- data/tracks/ecmascript/exercises/linked-list/package.json +10 -68
- data/tracks/ecmascript/exercises/list-ops/package.json +10 -68
- data/tracks/ecmascript/exercises/luhn/package.json +10 -68
- data/tracks/ecmascript/exercises/matrix/package.json +10 -68
- data/tracks/ecmascript/exercises/meetup/package.json +10 -68
- data/tracks/ecmascript/exercises/nth-prime/package.json +10 -68
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +10 -68
- data/tracks/ecmascript/exercises/octal/package.json +10 -68
- data/tracks/ecmascript/exercises/palindrome-products/package.json +10 -68
- data/tracks/ecmascript/exercises/pangram/package.json +10 -68
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +10 -68
- data/tracks/ecmascript/exercises/perfect-numbers/package.json +10 -68
- data/tracks/ecmascript/exercises/phone-number/package.json +10 -68
- data/tracks/ecmascript/exercises/pig-latin/package.json +10 -68
- data/tracks/ecmascript/exercises/prime-factors/package.json +10 -68
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +10 -68
- data/tracks/ecmascript/exercises/queen-attack/package.json +10 -68
- data/tracks/ecmascript/exercises/raindrops/package.json +10 -68
- data/tracks/ecmascript/exercises/rna-transcription/package.json +10 -68
- data/tracks/ecmascript/exercises/robot-name/package.json +10 -68
- data/tracks/ecmascript/exercises/robot-simulator/package.json +10 -68
- data/tracks/ecmascript/exercises/roman-numerals/package.json +10 -68
- data/tracks/ecmascript/exercises/saddle-points/package.json +10 -68
- data/tracks/ecmascript/exercises/say/package.json +10 -68
- data/tracks/ecmascript/exercises/scrabble-score/package.json +10 -68
- data/tracks/ecmascript/exercises/secret-handshake/package.json +10 -68
- data/tracks/ecmascript/exercises/series/package.json +10 -68
- data/tracks/ecmascript/exercises/sieve/package.json +10 -68
- data/tracks/ecmascript/exercises/simple-cipher/package.json +10 -68
- data/tracks/ecmascript/exercises/space-age/package.json +10 -68
- data/tracks/ecmascript/exercises/strain/package.json +10 -68
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +10 -68
- data/tracks/ecmascript/exercises/triangle/package.json +10 -68
- data/tracks/ecmascript/exercises/trinary/package.json +10 -68
- data/tracks/ecmascript/exercises/two-bucket/package.json +10 -68
- data/tracks/ecmascript/exercises/word-count/package.json +10 -68
- data/tracks/ecmascript/exercises/wordy/package.json +10 -68
- data/tracks/ecmascript/package.json +10 -68
- data/tracks/go/.travis.yml +1 -1
- data/tracks/go/exercises/perfect-numbers/perfect_numbers_test.go +22 -0
- data/tracks/kotlin/.travis.yml +4 -2
- data/tracks/kotlin/bin/journey-test.sh +24 -9
- data/tracks/ocaml/docs/EXERCISE_README_INSERT.md +9 -1
- data/tracks/ocaml/exercises/forth/test.ml +3 -1
- data/tracks/ocaml/exercises/pangram/test.ml +2 -2
- data/tracks/ocaml/tools/test-generator/src/test_gen.ml +1 -1
- data/tracks/python/.travis.yml +1 -1
- data/tracks/python/docs/LEARNING.md +1 -0
- metadata +2 -2
@@ -10,9 +10,13 @@
|
|
10
10
|
},
|
11
11
|
"devDependencies": {
|
12
12
|
"babel-jest": "^20.0.1",
|
13
|
-
"babel-preset-env": "^1.4.0",
|
14
13
|
"babel-plugin-transform-builtin-extend": "^1.1.2",
|
14
|
+
"babel-preset-env": "^1.4.0",
|
15
15
|
"eslint": "^3.19.0",
|
16
|
+
"eslint-config-airbnb": "^15.0.1",
|
17
|
+
"eslint-plugin-import": "^2.2.0",
|
18
|
+
"eslint-plugin-jsx-a11y": "^5.0.1",
|
19
|
+
"eslint-plugin-react": "^7.0.1",
|
16
20
|
"jest": "^20.0.1"
|
17
21
|
},
|
18
22
|
"jest": {
|
@@ -49,75 +53,12 @@
|
|
49
53
|
"env": {
|
50
54
|
"es6": true,
|
51
55
|
"node": true,
|
52
|
-
"
|
56
|
+
"jest": true
|
53
57
|
},
|
54
|
-
"extends": "
|
58
|
+
"extends": "airbnb",
|
55
59
|
"rules": {
|
56
|
-
"
|
57
|
-
|
58
|
-
2
|
59
|
-
],
|
60
|
-
"block-scoped-var": "off",
|
61
|
-
"radix": "off",
|
62
|
-
"no-use-before-define": "off",
|
63
|
-
"one-var": [
|
64
|
-
"off",
|
65
|
-
"always"
|
66
|
-
],
|
67
|
-
"quotes": [
|
68
|
-
"off",
|
69
|
-
"single",
|
70
|
-
{
|
71
|
-
"avoidEscape": true
|
72
|
-
}
|
73
|
-
],
|
74
|
-
"semi": [
|
75
|
-
"off",
|
76
|
-
"always"
|
77
|
-
],
|
78
|
-
"semi-spacing": [
|
79
|
-
"off",
|
80
|
-
{
|
81
|
-
"before": false,
|
82
|
-
"after": true
|
83
|
-
}
|
84
|
-
],
|
85
|
-
"no-whitespace-before-property": "off",
|
86
|
-
"space-before-blocks": [
|
87
|
-
"off",
|
88
|
-
"always"
|
89
|
-
],
|
90
|
-
"space-before-function-paren": [
|
91
|
-
"off",
|
92
|
-
{
|
93
|
-
"anonymous": "always",
|
94
|
-
"named": "never"
|
95
|
-
}
|
96
|
-
],
|
97
|
-
"keyword-spacing": [
|
98
|
-
"off",
|
99
|
-
{
|
100
|
-
"before": true,
|
101
|
-
"after": true
|
102
|
-
}
|
103
|
-
],
|
104
|
-
"no-multi-spaces": "off",
|
105
|
-
"no-trailing-spaces": "off",
|
106
|
-
"curly": [
|
107
|
-
"error",
|
108
|
-
"all"
|
109
|
-
],
|
110
|
-
"brace-style": [
|
111
|
-
"error",
|
112
|
-
"1tbs",
|
113
|
-
{
|
114
|
-
"allowSingleLine": true
|
115
|
-
}
|
116
|
-
],
|
117
|
-
"object-curly-spacing": [
|
118
|
-
"off",
|
119
|
-
"always"
|
120
|
-
]
|
60
|
+
"import/no-unresolved": "off",
|
61
|
+
"import/extensions": "off"
|
121
62
|
}
|
122
63
|
},
|
123
64
|
"licenses": [
|
@@ -125,3 +66,4 @@
|
|
125
66
|
],
|
126
67
|
"dependencies": {}
|
127
68
|
}
|
69
|
+
|
@@ -10,9 +10,13 @@
|
|
10
10
|
},
|
11
11
|
"devDependencies": {
|
12
12
|
"babel-jest": "^20.0.1",
|
13
|
-
"babel-preset-env": "^1.4.0",
|
14
13
|
"babel-plugin-transform-builtin-extend": "^1.1.2",
|
14
|
+
"babel-preset-env": "^1.4.0",
|
15
15
|
"eslint": "^3.19.0",
|
16
|
+
"eslint-config-airbnb": "^15.0.1",
|
17
|
+
"eslint-plugin-import": "^2.2.0",
|
18
|
+
"eslint-plugin-jsx-a11y": "^5.0.1",
|
19
|
+
"eslint-plugin-react": "^7.0.1",
|
16
20
|
"jest": "^20.0.1"
|
17
21
|
},
|
18
22
|
"jest": {
|
@@ -49,75 +53,12 @@
|
|
49
53
|
"env": {
|
50
54
|
"es6": true,
|
51
55
|
"node": true,
|
52
|
-
"
|
56
|
+
"jest": true
|
53
57
|
},
|
54
|
-
"extends": "
|
58
|
+
"extends": "airbnb",
|
55
59
|
"rules": {
|
56
|
-
"
|
57
|
-
|
58
|
-
2
|
59
|
-
],
|
60
|
-
"block-scoped-var": "off",
|
61
|
-
"radix": "off",
|
62
|
-
"no-use-before-define": "off",
|
63
|
-
"one-var": [
|
64
|
-
"off",
|
65
|
-
"always"
|
66
|
-
],
|
67
|
-
"quotes": [
|
68
|
-
"off",
|
69
|
-
"single",
|
70
|
-
{
|
71
|
-
"avoidEscape": true
|
72
|
-
}
|
73
|
-
],
|
74
|
-
"semi": [
|
75
|
-
"off",
|
76
|
-
"always"
|
77
|
-
],
|
78
|
-
"semi-spacing": [
|
79
|
-
"off",
|
80
|
-
{
|
81
|
-
"before": false,
|
82
|
-
"after": true
|
83
|
-
}
|
84
|
-
],
|
85
|
-
"no-whitespace-before-property": "off",
|
86
|
-
"space-before-blocks": [
|
87
|
-
"off",
|
88
|
-
"always"
|
89
|
-
],
|
90
|
-
"space-before-function-paren": [
|
91
|
-
"off",
|
92
|
-
{
|
93
|
-
"anonymous": "always",
|
94
|
-
"named": "never"
|
95
|
-
}
|
96
|
-
],
|
97
|
-
"keyword-spacing": [
|
98
|
-
"off",
|
99
|
-
{
|
100
|
-
"before": true,
|
101
|
-
"after": true
|
102
|
-
}
|
103
|
-
],
|
104
|
-
"no-multi-spaces": "off",
|
105
|
-
"no-trailing-spaces": "off",
|
106
|
-
"curly": [
|
107
|
-
"error",
|
108
|
-
"all"
|
109
|
-
],
|
110
|
-
"brace-style": [
|
111
|
-
"error",
|
112
|
-
"1tbs",
|
113
|
-
{
|
114
|
-
"allowSingleLine": true
|
115
|
-
}
|
116
|
-
],
|
117
|
-
"object-curly-spacing": [
|
118
|
-
"off",
|
119
|
-
"always"
|
120
|
-
]
|
60
|
+
"import/no-unresolved": "off",
|
61
|
+
"import/extensions": "off"
|
121
62
|
}
|
122
63
|
},
|
123
64
|
"licenses": [
|
@@ -125,3 +66,4 @@
|
|
125
66
|
],
|
126
67
|
"dependencies": {}
|
127
68
|
}
|
69
|
+
|
@@ -10,9 +10,13 @@
|
|
10
10
|
},
|
11
11
|
"devDependencies": {
|
12
12
|
"babel-jest": "^20.0.1",
|
13
|
-
"babel-preset-env": "^1.4.0",
|
14
13
|
"babel-plugin-transform-builtin-extend": "^1.1.2",
|
14
|
+
"babel-preset-env": "^1.4.0",
|
15
15
|
"eslint": "^3.19.0",
|
16
|
+
"eslint-config-airbnb": "^15.0.1",
|
17
|
+
"eslint-plugin-import": "^2.2.0",
|
18
|
+
"eslint-plugin-jsx-a11y": "^5.0.1",
|
19
|
+
"eslint-plugin-react": "^7.0.1",
|
16
20
|
"jest": "^20.0.1"
|
17
21
|
},
|
18
22
|
"jest": {
|
@@ -49,75 +53,12 @@
|
|
49
53
|
"env": {
|
50
54
|
"es6": true,
|
51
55
|
"node": true,
|
52
|
-
"
|
56
|
+
"jest": true
|
53
57
|
},
|
54
|
-
"extends": "
|
58
|
+
"extends": "airbnb",
|
55
59
|
"rules": {
|
56
|
-
"
|
57
|
-
|
58
|
-
2
|
59
|
-
],
|
60
|
-
"block-scoped-var": "off",
|
61
|
-
"radix": "off",
|
62
|
-
"no-use-before-define": "off",
|
63
|
-
"one-var": [
|
64
|
-
"off",
|
65
|
-
"always"
|
66
|
-
],
|
67
|
-
"quotes": [
|
68
|
-
"off",
|
69
|
-
"single",
|
70
|
-
{
|
71
|
-
"avoidEscape": true
|
72
|
-
}
|
73
|
-
],
|
74
|
-
"semi": [
|
75
|
-
"off",
|
76
|
-
"always"
|
77
|
-
],
|
78
|
-
"semi-spacing": [
|
79
|
-
"off",
|
80
|
-
{
|
81
|
-
"before": false,
|
82
|
-
"after": true
|
83
|
-
}
|
84
|
-
],
|
85
|
-
"no-whitespace-before-property": "off",
|
86
|
-
"space-before-blocks": [
|
87
|
-
"off",
|
88
|
-
"always"
|
89
|
-
],
|
90
|
-
"space-before-function-paren": [
|
91
|
-
"off",
|
92
|
-
{
|
93
|
-
"anonymous": "always",
|
94
|
-
"named": "never"
|
95
|
-
}
|
96
|
-
],
|
97
|
-
"keyword-spacing": [
|
98
|
-
"off",
|
99
|
-
{
|
100
|
-
"before": true,
|
101
|
-
"after": true
|
102
|
-
}
|
103
|
-
],
|
104
|
-
"no-multi-spaces": "off",
|
105
|
-
"no-trailing-spaces": "off",
|
106
|
-
"curly": [
|
107
|
-
"error",
|
108
|
-
"all"
|
109
|
-
],
|
110
|
-
"brace-style": [
|
111
|
-
"error",
|
112
|
-
"1tbs",
|
113
|
-
{
|
114
|
-
"allowSingleLine": true
|
115
|
-
}
|
116
|
-
],
|
117
|
-
"object-curly-spacing": [
|
118
|
-
"off",
|
119
|
-
"always"
|
120
|
-
]
|
60
|
+
"import/no-unresolved": "off",
|
61
|
+
"import/extensions": "off"
|
121
62
|
}
|
122
63
|
},
|
123
64
|
"licenses": [
|
@@ -125,3 +66,4 @@
|
|
125
66
|
],
|
126
67
|
"dependencies": {}
|
127
68
|
}
|
69
|
+
|
data/tracks/go/.travis.yml
CHANGED
@@ -45,7 +45,7 @@ install: true
|
|
45
45
|
# See https://github.com/exercism/configlet.
|
46
46
|
before_script:
|
47
47
|
- bin/fetch-configlet
|
48
|
-
- bin/configlet .
|
48
|
+
- bin/configlet lint .
|
49
49
|
|
50
50
|
# Our "build" is to run `go test` which is what our users do.
|
51
51
|
# -cpu 2 is for our problems that involve concurrency to test that they
|
@@ -40,3 +40,25 @@ func TestClassifiesCorrectly(t *testing.T) {
|
|
40
40
|
}
|
41
41
|
}
|
42
42
|
}
|
43
|
+
|
44
|
+
// Test that the classifications are not equal to each other.
|
45
|
+
// If they are equal, then the tests will return false positives.
|
46
|
+
func TestClassificationsNotEqual(t *testing.T) {
|
47
|
+
classifications := []struct {
|
48
|
+
class Classification
|
49
|
+
name string
|
50
|
+
}{
|
51
|
+
{ClassificationAbundant, "ClassificationAbundant"},
|
52
|
+
{ClassificationDeficient, "ClassificationDeficient"},
|
53
|
+
{ClassificationPerfect, "ClassificationPerfect"},
|
54
|
+
}
|
55
|
+
|
56
|
+
for i, pair1 := range classifications {
|
57
|
+
for j := i + 1; j < len(classifications); j++ {
|
58
|
+
pair2 := classifications[j]
|
59
|
+
if pair1.class == pair2.class {
|
60
|
+
t.Fatalf("%s should not be equal to %s", pair1.name, pair2.name)
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
data/tracks/kotlin/.travis.yml
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
language: java
|
3
3
|
jdk:
|
4
4
|
- oraclejdk8
|
5
|
+
env:
|
6
|
+
- SCRIPT=bin/unit-tests.sh
|
7
|
+
- SCRIPT=bin/journey-test.sh
|
5
8
|
|
6
9
|
# http://docs.travis-ci.com/user/migrating-from-legacy
|
7
10
|
sudo: false
|
@@ -23,8 +26,7 @@ before_script:
|
|
23
26
|
- export PATH=$TRAVIS_BUILD_DIR/bin:$PATH # ensure our tools are prefered over included ones.
|
24
27
|
|
25
28
|
script:
|
26
|
-
-
|
27
|
-
- bin/journey-test.sh
|
29
|
+
- $SCRIPT
|
28
30
|
|
29
31
|
# configure caching (https://docs.travis-ci.com/user/languages/java/#Caching)
|
30
32
|
before_cache:
|
@@ -3,6 +3,7 @@
|
|
3
3
|
TRACK=kotlin
|
4
4
|
TRACK_REPO="$TRACK"
|
5
5
|
TRACK_SRC_EXT="kt"
|
6
|
+
CPU_CORES=`getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`
|
6
7
|
|
7
8
|
on_exit() {
|
8
9
|
echo ">>> on_exit()"
|
@@ -96,6 +97,14 @@ get_cpu_architecture() {
|
|
96
97
|
esac
|
97
98
|
}
|
98
99
|
|
100
|
+
get_optimal_amount_of_jobs() {
|
101
|
+
if [ "$CPU_CORES" -gt "1" ]; then
|
102
|
+
echo $((CPU_CORES-1))
|
103
|
+
else
|
104
|
+
echo 1
|
105
|
+
fi
|
106
|
+
}
|
107
|
+
|
99
108
|
download_exercism_cli() {
|
100
109
|
local os="$1"
|
101
110
|
local arch="$2"
|
@@ -162,7 +171,7 @@ make_local_trackler() {
|
|
162
171
|
cp -r ${track_root}/exercises tracks/${TRACK}
|
163
172
|
|
164
173
|
gem install bundler
|
165
|
-
bundle install
|
174
|
+
bundle install --jobs $(get_optimal_amount_of_jobs)
|
166
175
|
gem build trackler.gemspec
|
167
176
|
|
168
177
|
# Make *this* the gem that x-api uses when we build x-api.
|
@@ -179,7 +188,7 @@ start_x_api() {
|
|
179
188
|
pushd $xapi_home
|
180
189
|
|
181
190
|
gem install bundler
|
182
|
-
bundle install
|
191
|
+
bundle install --jobs $(get_optimal_amount_of_jobs)
|
183
192
|
RACK_ENV=development rackup &
|
184
193
|
xapi_pid=$!
|
185
194
|
sleep 5
|
@@ -266,18 +275,24 @@ main() {
|
|
266
275
|
|
267
276
|
clean "${build_dir}"
|
268
277
|
|
269
|
-
#
|
270
|
-
git_clone "x-api" "${xapi_home}"
|
271
|
-
git_clone "trackler" "${trackler_home}"
|
272
|
-
|
278
|
+
# Download everything we need in parallel
|
279
|
+
git_clone "x-api" "${xapi_home}" &
|
280
|
+
git_clone "trackler" "${trackler_home}" &
|
281
|
+
download_exercism_cli $(get_operating_system) $(get_cpu_architecture) "${exercism_home}" &
|
282
|
+
wait
|
283
|
+
|
284
|
+
# Check and install the ruby stuff we need in parallel
|
285
|
+
assert_ruby_installed "${trackler_home}" &
|
286
|
+
assert_ruby_installed "${xapi_home}" &
|
287
|
+
wait
|
288
|
+
|
289
|
+
# Make a local version of trackler
|
273
290
|
make_local_trackler "${trackler_home}" "${xapi_home}"
|
274
291
|
|
275
|
-
#
|
276
|
-
assert_ruby_installed "${xapi_home}"
|
292
|
+
# Start-up a local instance of x-api so we can fetch the exercises through it.
|
277
293
|
start_x_api "${xapi_home}"
|
278
294
|
|
279
295
|
# Create a CLI install and config just for this build; this script does not use your CLI install.
|
280
|
-
download_exercism_cli $(get_operating_system) $(get_cpu_architecture) "${exercism_home}"
|
281
296
|
configure_exercism_cli "${exercism_home}" "${exercism_configfile}" "${xapi_port}"
|
282
297
|
|
283
298
|
solve_all_exercises "${exercism_home}" "${exercism_configfile}"
|
@@ -4,9 +4,17 @@ For installation and learning resources, refer to the
|
|
4
4
|
[exercism help page](http://exercism.io/languages/ocaml).
|
5
5
|
|
6
6
|
## Installation
|
7
|
-
To work on the exercises, you will need `Opam` and `Core`. Consult [opam](https://opam.ocaml.org) website for instructions on how to install for your OS. Once `opam` is installed open a terminal window and run the following command to install core:
|
7
|
+
To work on the exercises, you will need `Opam` and `Core`. Consult [opam](https://opam.ocaml.org) website for instructions on how to install `opam` for your OS. Once `opam` is installed open a terminal window and run the following command to install core:
|
8
8
|
|
9
|
+
```bash
|
9
10
|
opam install core
|
11
|
+
```
|
12
|
+
|
13
|
+
To run the tests you will need `OUnit`. Install it using `opam`:
|
14
|
+
|
15
|
+
```bash
|
16
|
+
opam install ounit
|
17
|
+
```
|
10
18
|
|
11
19
|
## Running Tests
|
12
20
|
A Makefile is provided with a default target to compile your solution and run the tests. At the command line, type:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
(* Test/exercise version: "1.
|
1
|
+
(* Test/exercise version: "1.2.0" *)
|
2
2
|
|
3
3
|
open Core
|
4
4
|
open OUnit2
|
@@ -122,6 +122,8 @@ let user_defined_words_tests = [
|
|
122
122
|
ae (Some [1; 1; 1]) (evaluate [": foo dup ;"; ": foo dup dup ;"; "1 foo"]);
|
123
123
|
"can override built-in words" >::
|
124
124
|
ae (Some [1; 1]) (evaluate [": swap dup ;"; "1 swap"]);
|
125
|
+
"can override built-in operators" >::
|
126
|
+
ae (Some [12]) (evaluate [": + * ;"; "3 4 +"]);
|
125
127
|
"cannot redefine numbers" >::
|
126
128
|
ae None (evaluate [": 1 2 ;"]);
|
127
129
|
"errors if executing a non-existent word" >::
|
@@ -1,4 +1,4 @@
|
|
1
|
-
(* Test/exercise version: "1.
|
1
|
+
(* Test/exercise version: "1.1.0" *)
|
2
2
|
|
3
3
|
open Core
|
4
4
|
open OUnit2
|
@@ -24,7 +24,7 @@ let tests = [
|
|
24
24
|
"pangram with mixed case and punctuation" >::
|
25
25
|
ae true (is_pangram "\"Five quacking Zephyrs jolt my wax bed.\"");
|
26
26
|
"upper and lower case versions of the same character should not be counted separately" >::
|
27
|
-
ae false (is_pangram "the quick brown fox
|
27
|
+
ae false (is_pangram "the quick brown fox jumps over with lazy FX");
|
28
28
|
]
|
29
29
|
|
30
30
|
let () =
|
@@ -22,7 +22,7 @@ let command =
|
|
22
22
|
empty
|
23
23
|
+> flag "-l" (optional string) ~doc:"language to generate tests for"
|
24
24
|
+> flag "-t" (optional_with_default "./templates" is_directory) ~doc:"string Directory containing templates."
|
25
|
-
+> flag "-c" (optional_with_default "../../../
|
25
|
+
+> flag "-c" (optional_with_default "../../../problem-specifications/exercises" is_directory) ~doc:"string Directory containing canonical data."
|
26
26
|
+> flag "-o" (optional string) ~doc:"string Directory to output generated tests."
|
27
27
|
+> flag "-g" (optional string) ~doc:"string Directory to backup generated tests."
|
28
28
|
+> flag "-f" (optional string) ~doc:"string Filter out files not matching this string."
|
data/tracks/python/.travis.yml
CHANGED
@@ -11,6 +11,7 @@ With this premise, a good, beginner friendly, starting point for those who don't
|
|
11
11
|
|
12
12
|
## Other Resources
|
13
13
|
|
14
|
+
- [Automate the Boring Stuff with Python (Book)](https://automatetheboringstuff.com/)
|
14
15
|
- [Python3 Beginner Tutorial](https://www.youtube.com/playlist?list=PL1A2CSdiySGJd0LJRRSwQZbPZaDP0q67j)
|
15
16
|
- [Learn Python The Hard Way (Book)](http://learnpythonthehardway.org/book/)
|
16
17
|
- [Offical Python3 **Documentation** and **Reference**](https://docs.python.org/3/)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
4
|
+
version: 2.1.0.55
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|