trackler 2.1.0.41 → 2.1.0.42

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/fake/docs/STRAY.md +1 -0
  3. data/lib/trackler/doc_file.rb +88 -0
  4. data/lib/trackler/track.rb +6 -40
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/bash/README.md +2 -2
  7. data/tracks/bash/config.json +1 -1
  8. data/tracks/c/README.md +1 -1
  9. data/tracks/c/config.json +1 -1
  10. data/tracks/ceylon/README.md +4 -4
  11. data/tracks/ceylon/config.json +1 -1
  12. data/tracks/clojure/README.org +3 -3
  13. data/tracks/clojure/config.json +1 -1
  14. data/tracks/cpp/README.md +2 -2
  15. data/tracks/cpp/config.json +1 -1
  16. data/tracks/cpp/docs/INSTALLATION.md +2 -2
  17. data/tracks/crystal/config.json +1 -1
  18. data/tracks/csharp/config.json +1 -1
  19. data/tracks/delphi/README.md +2 -2
  20. data/tracks/delphi/config.json +1 -1
  21. data/tracks/delphi/exercises/bowling/uBowlingTests.pas +14 -14
  22. data/tracks/ecmascript/config.json +1 -1
  23. data/tracks/elisp/README.org +4 -4
  24. data/tracks/elisp/config.json +1 -1
  25. data/tracks/elixir/README.md +3 -3
  26. data/tracks/elixir/config.json +1 -1
  27. data/tracks/erlang/README.md +2 -2
  28. data/tracks/erlang/config.json +2 -2
  29. data/tracks/factor/README.md +9 -9
  30. data/tracks/factor/config.json +1 -1
  31. data/tracks/fsharp/config.json +1 -1
  32. data/tracks/go/README.md +16 -16
  33. data/tracks/go/config.json +1 -1
  34. data/tracks/go/exercises/gigasecond/gigasecond_test.go +2 -2
  35. data/tracks/go/gen/gen.go +2 -2
  36. data/tracks/haskell/.gitignore +1 -1
  37. data/tracks/haskell/README.md +12 -8
  38. data/tracks/haskell/config.json +1 -1
  39. data/tracks/haskell/docs/EXERCISE_README_INSERT.md +1 -1
  40. data/tracks/idris/README.md +1 -1
  41. data/tracks/idris/config.json +1 -1
  42. data/tracks/java/POLICIES.md +7 -7
  43. data/tracks/java/README.md +7 -7
  44. data/tracks/java/bin/journey-test.sh +1 -1
  45. data/tracks/java/config.json +1 -1
  46. data/tracks/java/docs/MAINTAINING.md +3 -20
  47. data/tracks/java/docs/TESTS.md +3 -3
  48. data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +23 -20
  49. data/tracks/java/exercises/hello-world/GETTING_STARTED.md +1 -1
  50. data/tracks/java/exercises/hello-world/TUTORIAL.md +2 -2
  51. data/tracks/javascript/config.json +1 -1
  52. data/tracks/julia/.travis.yml +0 -2
  53. data/tracks/julia/config.json +9 -0
  54. data/tracks/julia/exercises/custom-set/example.jl +1 -1
  55. data/tracks/julia/exercises/luhn/example.jl +1 -1
  56. data/tracks/julia/exercises/robot-name/HINTS.md +17 -0
  57. data/tracks/julia/exercises/robot-name/example.jl +14 -0
  58. data/tracks/julia/exercises/robot-name/robot-name.jl +8 -0
  59. data/tracks/julia/exercises/robot-name/runtests.jl +69 -0
  60. data/tracks/kotlin/README.md +7 -7
  61. data/tracks/kotlin/config.json +1 -1
  62. data/tracks/kotlin/docs/TESTS.md +3 -3
  63. data/tracks/kotlin/exercises/hello-world/GETTING_STARTED.md +1 -1
  64. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +1 -1
  65. data/tracks/lfe/README.md +2 -2
  66. data/tracks/lfe/config.json +1 -1
  67. data/tracks/lisp/README.md +1 -1
  68. data/tracks/lisp/config.json +2 -2
  69. data/tracks/lua/README.md +9 -9
  70. data/tracks/lua/config.json +1 -1
  71. data/tracks/lua/exercises/hamming/hamming_spec.lua +15 -7
  72. data/tracks/lua/exercises/raindrops/raindrops_spec.lua +46 -14
  73. data/tracks/mips/config.json +1 -1
  74. data/tracks/objective-c/Dangerfile +1 -1
  75. data/tracks/objective-c/README.md +1 -1
  76. data/tracks/objective-c/config.json +1 -1
  77. data/tracks/ocaml/README.md +2 -2
  78. data/tracks/ocaml/config.json +1 -1
  79. data/tracks/ocaml/docs/EXERCISE_README_INSERT.md +1 -1
  80. data/tracks/ocaml/tools/test-generator/README.md +2 -2
  81. data/tracks/perl5/README.md +1 -1
  82. data/tracks/perl5/config.json +1 -1
  83. data/tracks/perl6/README.md +2 -2
  84. data/tracks/perl6/config.json +1 -1
  85. data/tracks/perl6/exercises/all-your-base/all-your-base.t +43 -32
  86. data/tracks/perl6/exercises/all-your-base/example.yaml +19 -9
  87. data/tracks/php/config.json +1 -1
  88. data/tracks/pony/README.md +2 -2
  89. data/tracks/pony/config.json +1 -1
  90. data/tracks/powershell/README.md +1 -1
  91. data/tracks/powershell/config.json +1 -1
  92. data/tracks/purescript/README.md +5 -5
  93. data/tracks/purescript/config.json +1 -1
  94. data/tracks/r/README.md +3 -3
  95. data/tracks/r/config.json +1 -1
  96. data/tracks/racket/README.md +2 -2
  97. data/tracks/racket/config.json +1 -1
  98. data/tracks/ruby/README.md +9 -9
  99. data/tracks/ruby/config.json +1 -1
  100. data/tracks/rust/config.json +1 -1
  101. data/tracks/rust/exercises/gigasecond/src/lib.rs +7 -0
  102. data/tracks/rust/exercises/protein-translation/example.rs +11 -22
  103. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +56 -36
  104. data/tracks/scala/config.json +1 -1
  105. data/tracks/scala/exercises/all-your-base/src/test/scala/AllYourBaseTest.scala +46 -64
  106. data/tracks/scala/exercises/rna-transcription/example.scala +1 -3
  107. data/tracks/scala/exercises/rna-transcription/src/test/scala/RnaTranscriptionTest.scala +19 -23
  108. data/tracks/scala/exercises/scrabble-score/example.scala +2 -2
  109. data/tracks/scala/exercises/scrabble-score/src/test/scala/ScrabbleScoreTest.scala +37 -16
  110. data/tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala +32 -42
  111. data/tracks/scala/testgen/src/main/scala/RnaTranscriptionTestGenerator.scala +34 -0
  112. data/tracks/scala/testgen/src/main/scala/ScrabbleScoreTestGenerator.scala +15 -0
  113. data/tracks/sml/README.md +1 -3
  114. data/tracks/sml/config.json +1 -1
  115. data/tracks/sml/docs/EXERCISE_README_INSERT.md +1 -1
  116. data/tracks/swift/config.json +1 -1
  117. data/tracks/typescript/README.md +1 -1
  118. data/tracks/typescript/config.json +1 -1
  119. data/tracks/vimscript/README.md +5 -5
  120. data/tracks/vimscript/config.json +8 -1
  121. data/tracks/vimscript/exercises/largest-series-product/example.vim +31 -0
  122. data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vader +95 -0
  123. data/tracks/vimscript/exercises/largest-series-product/largest_series_product.vim +17 -0
  124. metadata +13 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 459eb1c7e1f02ca9820277f1b0c2d702b6eff98f
4
- data.tar.gz: 9aa711fe94d135c348739c92dbe9cbc6705a8f56
3
+ metadata.gz: 3f89022dff9de539f6c5ed2e7f627090fd42e251
4
+ data.tar.gz: 31ec9e2242d4cea1ec24449d40d39d4d2a5d45c8
5
5
  SHA512:
6
- metadata.gz: 708eaabff40770358ec9088fd995750a7fbf1a82c0f4af9262b66db028ad747287ed411dbdd5e3ccb644243551706d3961dede0824bc567a0cd32ec33cb76b18
7
- data.tar.gz: dff6a0a9f1eae6c6da446a08701d3105441ee311309348afc528fa673d0e8b00dd756f2c91cac35320816ac4b65aa953ac497f8f518a677c4fd68c48a337d462
6
+ metadata.gz: 7ef0817e04b9a83672a9f7ec38ebe2eba7a65ab077b7f0b8ebeb73849478f3601f47f3f72e321cb9a8ec2b282f35d63a7eb9a14d5efcbfdd131ebd3e3f19474a
7
+ data.tar.gz: f23e60366c12452efaea36a47bac1232b52fdacd9231e05629cb2841a1c59b629d8fd23a6a00c080ee5aa400ac768df3b89b5df6531d87db9cf60e3efb4a82d9
@@ -0,0 +1 @@
1
+ ![](/docs/img/test.jpg)
@@ -0,0 +1,88 @@
1
+ class DocFile
2
+ DEFAULT_IMAGE_PATH = "/docs/img"
3
+
4
+ def self.find(basename:, track_dir:)
5
+ dir = File.join(track_dir, "docs")
6
+
7
+ [
8
+ MarkdownFile.new(basename: basename, docs_dir: dir),
9
+ OrgmodeFile.new(basename: basename, docs_dir: dir),
10
+ ].detect(&:exist?) || NullFile.new(basename)
11
+ end
12
+
13
+ attr_reader :basename, :dir
14
+ def initialize(basename:, docs_dir:)
15
+ @basename = basename
16
+ @dir = docs_dir
17
+ end
18
+
19
+ def render(image_path: DEFAULT_IMAGE_PATH)
20
+ body.gsub(img_src, img_dst(image_path))
21
+ end
22
+
23
+ def name
24
+ "%s.%s" % [basename, extension]
25
+ end
26
+
27
+ def extension
28
+ "md"
29
+ end
30
+
31
+ def exist?
32
+ File.exist?(path)
33
+ end
34
+
35
+ private
36
+
37
+ def body
38
+ File.read(path)
39
+ end
40
+
41
+ def path
42
+ "%s/%s" % [dir, name]
43
+ end
44
+
45
+ def img_src
46
+ Regexp.new("]\\(%s" % DEFAULT_IMAGE_PATH)
47
+ end
48
+
49
+ def img_dst(image_path)
50
+ "](%s" % image_path.gsub(Regexp.new("/$"), "")
51
+ end
52
+ end
53
+
54
+ class OrgmodeFile < DocFile
55
+ def body
56
+ Orgmode::Parser.new(File.read(path)).to_markdown
57
+ end
58
+
59
+ def extension
60
+ "org"
61
+ end
62
+ end
63
+
64
+ class MarkdownFile < DocFile
65
+ end
66
+
67
+ class NullFile
68
+ attr_reader :basename
69
+ def initialize(basename)
70
+ @basename = basename
71
+ end
72
+
73
+ def render(image_path:"")
74
+ ""
75
+ end
76
+
77
+ def name
78
+ "%s.%s" % [basename, extension]
79
+ end
80
+
81
+ def extension
82
+ "md" # default for missing files
83
+ end
84
+
85
+ def exist?
86
+ false
87
+ end
88
+ end
@@ -8,7 +8,7 @@ module Trackler
8
8
  # Track is a collection of exercises in a given language.
9
9
  class Track
10
10
  TOPICS = %w(about installation tests learning resources)
11
- DEFAULT_IMAGE_PATH = "/docs/img"
11
+ DEFAULT_IMAGE_PATH = DocFile::DEFAULT_IMAGE_PATH
12
12
 
13
13
  Image = Struct.new(:path) do
14
14
  def exists?
@@ -100,9 +100,9 @@ module Trackler
100
100
  end
101
101
 
102
102
  def doc_format
103
- default_format = 'md'
104
- path = File.join(dir, "docs", "*.*")
105
- most_popular_format(path) || default_format
103
+ TOPICS.map { |topic|
104
+ DocFile.find(basename: topic.upcase, track_dir: dir).extension
105
+ }.partition(&:to_s).max_by(&:size).first
106
106
  end
107
107
 
108
108
  def global_zip
@@ -119,19 +119,11 @@ module Trackler
119
119
  end
120
120
 
121
121
  def hints
122
- if File.exist?(track_hints_filename)
123
- File.read(track_hints_filename)
124
- else
125
- ""
126
- end
122
+ docfile = DocFile.find(basename: 'EXERCISE_README_INSERT', track_dir: dir).render
127
123
  end
128
124
 
129
125
  private
130
126
 
131
- def track_hints_filename
132
- File.join(dir, 'docs', 'EXERCISE_README_INSERT.md')
133
- end
134
-
135
127
  def active_slugs
136
128
  (config["exercises"] || []).map { |ex| ex["slug"] }
137
129
  end
@@ -144,13 +136,6 @@ module Trackler
144
136
  config["deprecated"] || []
145
137
  end
146
138
 
147
- def most_popular_format(path)
148
- formats = Dir.glob(path).map do |filename|
149
- File.extname(filename).sub(/^\./, '')
150
- end
151
- formats.max_by { |format| formats.count(format) }
152
- end
153
-
154
139
  def config
155
140
  @config ||= JSON.parse(File.read(config_filename))
156
141
  end
@@ -159,35 +144,16 @@ module Trackler
159
144
  File.join(dir, "config.json")
160
145
  end
161
146
 
162
- def document_contents(topic)
163
- filename = document_filename(topic)
164
- case filename
165
- when /\.md$/
166
- File.read(filename)
167
- when /\.org$/
168
- Orgmode::Parser.new(File.read(filename)).to_markdown
169
- else
170
- ''
171
- end
172
- end
173
-
174
147
  def docs_by_topic(image_path)
175
- src = Regexp.new("]\\(%s" % DEFAULT_IMAGE_PATH)
176
- dst = "](%s" % image_path.gsub(Regexp.new("/$"), "")
177
148
  Hash[
178
149
  TOPICS.zip(
179
150
  TOPICS.map { |topic|
180
- document_contents(topic).gsub(src, dst)
151
+ DocFile.find(basename: topic.upcase, track_dir: dir).render(image_path: image_path)
181
152
  }
182
153
  )
183
154
  ]
184
155
  end
185
156
 
186
- def document_filename(topic)
187
- path = File.join(dir, "docs", topic.upcase)
188
- Dir.glob("%s.*" % path).sort.first
189
- end
190
-
191
157
  def svg_icon
192
158
  @svg_icon ||= Image.new(File.join(dir, "img/icon.svg"))
193
159
  end
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.1.0.41"
2
+ VERSION = "2.1.0.42"
3
3
  end
@@ -1,6 +1,6 @@
1
- # xBash
1
+ # Exercism Bash Track
2
2
 
3
- [![Gitter](https://badges.gitter.im/exercism/xbash.svg)](https://gitter.im/exercism/xbash?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
3
+ [![Gitter](https://badges.gitter.im/exercism/bash.svg)](https://gitter.im/exercism/bash?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
4
4
 
5
5
  Exercism Exercises in Bash
6
6
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "bash",
3
3
  "language": "Bash",
4
- "repository": "https://github.com/exercism/xbash",
4
+ "repository": "https://github.com/exercism/bash",
5
5
  "checklist_issue": 4,
6
6
  "active": false,
7
7
  "exercises": [
data/tracks/c/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # xC [![Build Status](https://travis-ci.org/exercism/xc.svg?branch=master)](https://travis-ci.org/exercism/xc)
1
+ # C [![Build Status](https://travis-ci.org/exercism/c.svg?branch=master)](https://travis-ci.org/exercism/c)
2
2
 
3
3
  Exercism problems in C
4
4
 
data/tracks/c/config.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "c",
3
3
  "language": "C",
4
- "repository": "https://github.com/exercism/xc",
4
+ "repository": "https://github.com/exercism/c",
5
5
  "checklist_issue": 8,
6
6
  "active": false,
7
7
  "exercises": [
@@ -1,6 +1,6 @@
1
- # xceylon
1
+ # Exercism Ceylon Track
2
2
 
3
- [![Build Status](https://travis-ci.org/exercism/xceylon.svg?branch=master)](https://travis-ci.org/exercism/xceylon)
3
+ [![Build Status](https://travis-ci.org/exercism/ceylon.svg?branch=master)](https://travis-ci.org/exercism/ceylon)
4
4
 
5
5
  Exercism problems in Ceylon.
6
6
 
@@ -9,7 +9,7 @@ Exercism problems in Ceylon.
9
9
  ### Asking for help
10
10
 
11
11
  If you're ever unsure about how to help, don't worry!
12
- You can just ask in the [Exercism Gitter support](https://gitter.im/exercism/support) channel or by creating an issue [for the Ceylon track](https://github.com/exercism/xceylon/issues/new) and we are happy to help you!
12
+ You can just ask in the [Exercism Gitter support](https://gitter.im/exercism/support) channel or by creating an issue [for the Ceylon track](https://github.com/exercism/ceylon/issues/new) and we are happy to help you!
13
13
 
14
14
  ### How to contribute
15
15
 
@@ -70,7 +70,7 @@ However, if there is any Ceylon-specific information that you would like appende
70
70
 
71
71
  ### Running the tests
72
72
 
73
- As mentioned, [Travis CI](https://travis-ci.org/exercism/xceylon) runs our tests to ensure that our exercises are solvable.
73
+ As mentioned, [Travis CI](https://travis-ci.org/exercism/ceylon) runs our tests to ensure that our exercises are solvable.
74
74
  The tests are run on all pull requests (PRs), and we should strive to only merge PRs for which the tests are passing.
75
75
 
76
76
  It is possible to run these tests locally as well.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "ceylon",
3
3
  "language": "Ceylon",
4
- "repository": "https://github.com/exercism/xceylon",
4
+ "repository": "https://github.com/exercism/ceylon",
5
5
  "active": false,
6
6
  "exercises": [
7
7
  {
@@ -1,14 +1,14 @@
1
- #+TITLE: xClojure
1
+ #+TITLE: Exercism Clojure Track
2
2
 
3
3
  #+ATTR_HTML: :alt Build Status
4
- [[https://travis-ci.org/exercism/xclojure][https://travis-ci.org/exercism/xclojure.svg]]
4
+ [[https://travis-ci.org/exercism/clojure][https://travis-ci.org/exercism/clojure.svg]]
5
5
 
6
6
  Exercism exercises in Clojure
7
7
 
8
8
  * Contributing Guide
9
9
  Please see the [[https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data][contributing guide]].
10
10
 
11
- *** [[https://github.com/exercism/xclojure/tree/master/img/icon.png][Clojure icon]]
11
+ *** [[https://github.com/exercism/clojure/tree/master/img/icon.png][Clojure icon]]
12
12
  The Clojure logo is owned by Rich Hickey.
13
13
  We are using it to identify the Clojure language itself, not any part of Exercism, which we believe to be admissible under fair use.
14
14
  The version of the logo that we are using is a black/white adaptation of the logo found on http://clojure.org.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "clojure",
3
3
  "language": "Clojure",
4
- "repository": "https://github.com/exercism/xclojure",
4
+ "repository": "https://github.com/exercism/clojure",
5
5
  "active": true,
6
6
  "deprecated": [
7
7
 
data/tracks/cpp/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # xC++
1
+ # C++
2
2
 
3
- [![Travis Build Status](https://api.travis-ci.org/exercism/xcpp.svg?branch=master)](https://travis-ci.org/exercism/xcpp)
3
+ [![Travis Build Status](https://api.travis-ci.org/exercism/cpp.svg?branch=master)](https://travis-ci.org/exercism/cpp)
4
4
 
5
5
  Exercism Exercises in C++
6
6
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "cpp",
3
3
  "language": "C++",
4
- "repository": "https://github.com/exercism/xcpp",
4
+ "repository": "https://github.com/exercism/cpp",
5
5
  "active": true,
6
6
  "deprecated": [
7
7
 
@@ -78,7 +78,7 @@ not worry about setting up a build for each exercise.
78
78
 
79
79
  Getting a portable build isn't easy and requires access to many kinds of
80
80
  systems. If you encounter any problems with the supplied CMake recipe,
81
- please [report the issue](https://github.com/exercism/xcpp/issues) so we can
81
+ please [report the issue](https://github.com/exercism/cpp/issues) so we can
82
82
  improve the CMake support.
83
83
 
84
84
  [CMake 2.8.11 or later](http://www.cmake.org/) is required to use the provided build recipe.
@@ -96,7 +96,7 @@ boost libraries Boost.Test, Boost.DateTime and Boost.Regex, or you will
96
96
  need to download from source and build the library yourself.
97
97
 
98
98
  If you are having difficulties installing Boost for use with exercism,
99
- [ask for help](https://github.com/exercism/xcpp/issues).
99
+ [ask for help](https://github.com/exercism/cpp/issues).
100
100
 
101
101
  #### Linux
102
102
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "crystal",
3
3
  "language": "Crystal",
4
- "repository": "https://github.com/exercism/xcrystal",
4
+ "repository": "https://github.com/exercism/crystal",
5
5
  "active": true,
6
6
  "test_pattern": "_spec.cr",
7
7
  "exercises": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "csharp",
3
3
  "language": "C#",
4
- "repository": "https://github.com/exercism/xcsharp",
4
+ "repository": "https://github.com/exercism/csharp",
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
@@ -1,6 +1,6 @@
1
- # xDelphi
1
+ # Exercism Delphi Pascal Track
2
2
 
3
- [![Build Status](https://travis-ci.org/exercism/xdelphi.svg?branch=master)](https://travis-ci.org/exercism/xdelphi)
3
+ [![Build Status](https://travis-ci.org/exercism/delphi.svg?branch=master)](https://travis-ci.org/exercism/delphi)
4
4
 
5
5
  Exercism exercises in Delphi Pascal.
6
6
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "delphi",
3
3
  "language": "Delphi Pascal",
4
- "repository": "https://github.com/exercism/xdelphi",
4
+ "repository": "https://github.com/exercism/delphi",
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
@@ -70,31 +70,31 @@ type
70
70
 
71
71
  [Test]
72
72
  [Ignore]
73
- procedure Rolls_can_not_score_negative_points;
73
+ procedure Rolls_cannot_score_negative_points;
74
74
 
75
75
  [Test]
76
76
  [Ignore]
77
- procedure A_roll_can_not_score_more_than_10_points;
77
+ procedure A_roll_cannot_score_more_than_10_points;
78
78
 
79
79
  [Test]
80
80
  [Ignore]
81
- procedure Two_rolls_in_a_frame_can_not_score_more_than_10_points;
81
+ procedure Two_rolls_in_a_frame_cannot_score_more_than_10_points;
82
82
 
83
83
  [Test]
84
84
  [Ignore]
85
- procedure Two_bonus_rolls_after_a_strike_in_the_last_frame_can_not_score_more_than_10_points;
85
+ procedure Two_bonus_rolls_after_a_strike_in_the_last_frame_cannot_score_more_than_10_points;
86
86
 
87
87
  [Test]
88
88
  [Ignore]
89
- procedure An_unstarted_game_can_not_be_scored;
89
+ procedure An_unstarted_game_cannot_be_scored;
90
90
 
91
91
  [Test]
92
92
  [Ignore]
93
- procedure An_incomplete_game_can_not_be_scored;
93
+ procedure An_incomplete_game_cannot_be_scored;
94
94
 
95
95
  [Test]
96
96
  [Ignore]
97
- procedure A_game_with_more_than_ten_frames_can_not_be_scored;
97
+ procedure A_game_with_more_than_ten_frames_cannot_be_scored;
98
98
 
99
99
  [Test]
100
100
  [Ignore]
@@ -210,49 +210,49 @@ begin
210
210
  assert.AreEqual(300, game.Score);
211
211
  end;
212
212
 
213
- procedure BowlingTests.Rolls_can_not_score_negative_points;
213
+ procedure BowlingTests.Rolls_cannot_score_negative_points;
214
214
  var game: IBowlingGame;
215
215
  begin
216
216
  game := RollMany([-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], NewBowlingGame);
217
217
  Assert.AreEqual(-1, game.Score);
218
218
  end;
219
219
 
220
- procedure BowlingTests.A_roll_can_not_score_more_than_10_points;
220
+ procedure BowlingTests.A_roll_cannot_score_more_than_10_points;
221
221
  var game: IBowlingGame;
222
222
  begin
223
223
  game := RollMany([11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], NewBowlingGame);
224
224
  Assert.AreEqual(-1, game.Score);
225
225
  end;
226
226
 
227
- procedure BowlingTests.Two_rolls_in_a_frame_can_not_score_more_than_10_points;
227
+ procedure BowlingTests.Two_rolls_in_a_frame_cannot_score_more_than_10_points;
228
228
  var game: IBowlingGame;
229
229
  begin
230
230
  game := RollMany([5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], NewBowlingGame);
231
231
  Assert.AreEqual(-1, game.Score);
232
232
  end;
233
233
 
234
- procedure BowlingTests.Two_bonus_rolls_after_a_strike_in_the_last_frame_can_not_score_more_than_10_points;
234
+ procedure BowlingTests.Two_bonus_rolls_after_a_strike_in_the_last_frame_cannot_score_more_than_10_points;
235
235
  var game: IBowlingGame;
236
236
  begin
237
237
  game := RollMany([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 6], NewBowlingGame);
238
238
  Assert.AreEqual(-1, game.Score);
239
239
  end;
240
240
 
241
- procedure BowlingTests.An_unstarted_game_can_not_be_scored;
241
+ procedure BowlingTests.An_unstarted_game_cannot_be_scored;
242
242
  var game: IBowlingGame;
243
243
  begin
244
244
  game := RollMany([],NewBowlingGame);
245
245
  Assert.AreEqual(-1, game.Score);
246
246
  end;
247
247
 
248
- procedure BowlingTests.An_incomplete_game_can_not_be_scored;
248
+ procedure BowlingTests.An_incomplete_game_cannot_be_scored;
249
249
  var game: IBowlingGame;
250
250
  begin
251
251
  game := RollMany([0, 0], NewBowlingGame);
252
252
  Assert.AreEqual(-1, game.Score);
253
253
  end;
254
254
 
255
- procedure BowlingTests.A_game_with_more_than_ten_frames_can_not_be_scored;
255
+ procedure BowlingTests.A_game_with_more_than_ten_frames_cannot_be_scored;
256
256
  var game: IBowlingGame;
257
257
  begin
258
258
  game := RollMany([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], NewBowlingGame);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "ecmascript",
3
3
  "language": "ECMAScript",
4
- "repository": "https://github.com/exercism/xecmascript",
4
+ "repository": "https://github.com/exercism/ecmascript",
5
5
  "active": true,
6
6
  "test_pattern": ".*[.]spec[.]js$",
7
7
  "exercises": [
@@ -1,8 +1,8 @@
1
- #+TITLE: xelisp
1
+ #+TITLE: elisp
2
2
  #+AUTHOR: Jason Lewis
3
3
 
4
4
  #+ATTR_HTML: :alt Build Status
5
- [[https://travis-ci.org/exercism/xelisp][https://api.travis-ci.org/exercism/xelisp.svg?branch=master]]
5
+ [[https://travis-ci.org/exercism/elisp][https://api.travis-ci.org/exercism/elisp.svg?branch=master]]
6
6
 
7
7
  Exercism problems in Emacs Lisp.
8
8
 
@@ -17,7 +17,7 @@ information about contributing to existing problems and adding new problems.
17
17
 
18
18
  *** Issues
19
19
 
20
- Feel free to file any issues on the [[https://github.com/exercism/xelisp/issues][xelisp issue tracker]] for problems of
20
+ Feel free to file any issues on the [[https://github.com/exercism/elisp/issues][elisp issue tracker]] for problems of
21
21
  any size. Feel free to report typographical errors or poor wording for
22
22
  example. You can greatly help improve the quality of the exercises by
23
23
  filing reports of invalid solutions that pass tests or of valid solutions
@@ -25,7 +25,7 @@ that fail tests.
25
25
 
26
26
  New exercises or changes to existing ones can be submitted via a pull
27
27
  request. You will need a GitHub account and you will need to fork
28
- [[https://github.com/exercism/xelisp][exercism/xelisp]] to your account. See GitHub Help if you are unfamiliar
28
+ [[https://github.com/exercism/elisp][exercism/elisp]] to your account. See GitHub Help if you are unfamiliar
29
29
  with the process.
30
30
 
31
31
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "elisp",
3
3
  "language": "Emacs Lisp",
4
- "repository": "https://github.com/exercism/xelisp",
4
+ "repository": "https://github.com/exercism/elisp",
5
5
  "active": true,
6
6
  "deprecated": [
7
7
 
@@ -1,6 +1,6 @@
1
- # xElixir
1
+ # Exercism Elixir Track
2
2
 
3
- ![build status](https://travis-ci.org/exercism/xelixir.svg?branch=master)
3
+ ![build status](https://travis-ci.org/exercism/elixir.svg?branch=master)
4
4
 
5
5
  Exercism Exercises in Elixir
6
6
 
@@ -72,7 +72,7 @@ test "shouting" do
72
72
  end
73
73
  ```
74
74
 
75
- All the tests for xElixir exercises can be run from the top level of the repo
75
+ All the tests for Exercism Elixir Track exercises can be run from the top level of the repo
76
76
  with `$ mix test`. Please run this command before submitting your PR. Watch out
77
77
  for and correct any compiler warnings you may have introduced.
78
78
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "elixir",
3
3
  "language": "Elixir",
4
- "repository": "https://github.com/exercism/xelixir",
4
+ "repository": "https://github.com/exercism/elixir",
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
@@ -1,6 +1,6 @@
1
- # xErlang
1
+ # Exercism Erlang Track
2
2
 
3
- [![Join the chat at https://gitter.im/exercism/xerlang](https://badges.gitter.im/exercism/xerlang.svg)](https://gitter.im/exercism/xerlang?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
3
+ [![Join the chat at https://gitter.im/exercism/erlang](https://badges.gitter.im/exercism/erlang.svg)](https://gitter.im/exercism/erlang?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
4
 
5
5
  Exercism exercises in Erlang
6
6
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "erlang",
3
3
  "language": "Erlang",
4
- "repository": "https://github.com/exercism/xerlang",
4
+ "repository": "https://github.com/exercism/erlang",
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
@@ -27,7 +27,7 @@
27
27
  },
28
28
  {
29
29
  "slug": "collatz-conjecture",
30
- "topics":[
30
+ "topics": [
31
31
 
32
32
  ],
33
33
  "difficulty": 1
@@ -1,8 +1,8 @@
1
- # xFactor
1
+ # Exercism Factor Track
2
2
 
3
3
  ---
4
4
 
5
- [![Build Status](https://travis-ci.org/exercism/xfactor.svg?branch=master)](https://travis-ci.org/exercism/xfactor)
5
+ [![Build Status](https://travis-ci.org/exercism/factor.svg?branch=master)](https://travis-ci.org/exercism/factor)
6
6
 
7
7
  Exercism problems in Factor.
8
8
 
@@ -33,8 +33,8 @@ Here's what you need to do to start working with the Factor code in the `exercis
33
33
 
34
34
  2. Test an exercise's example code with:
35
35
  ```
36
- xfactor (master) $ factor -run=exericsm.testing hello-world
37
- working directory OK: /home/you/git/xfactor is a dev-env
36
+ factor (master) $ factor -run=exericsm.testing hello-world
37
+ working directory OK: /home/you/git/factor is a dev-env
38
38
  config.json and exercises OK
39
39
 
40
40
  testing exercise: hello-world
@@ -45,8 +45,8 @@ Here's what you need to do to start working with the Factor code in the `exercis
45
45
  Alternatively, to run all tests in all exercise directories:
46
46
 
47
47
  ```
48
- xfactor (master) $ factor -run=exericsm.testing run-all
49
- working directory OK: /home/you/git/xfactor is a dev-env
48
+ factor (master) $ factor -run=exericsm.testing run-all
49
+ working directory OK: /home/you/git/factor is a dev-env
50
50
  config.json and exercises OK
51
51
 
52
52
  testing exercise: hello-world
@@ -56,8 +56,8 @@ Here's what you need to do to start working with the Factor code in the `exercis
56
56
 
57
57
  `config.json` is verified for logical integrity on each run. To only check `config.json`'s validity:
58
58
  ```
59
- xfactor (master) $ factor -run=exericsm.testing VERIFY
60
- working directory OK: /home/you/git/xfactor is a dev-env
59
+ factor (master) $ factor -run=exericsm.testing VERIFY
60
+ working directory OK: /home/you/git/factor is a dev-env
61
61
  config.json and exercises OK
62
62
  ```
63
63
  If `config.json` is invalid, then an error will be thrown and tests will not run.
@@ -70,6 +70,6 @@ Here's what you need to do to start working with the Factor code in the `exercis
70
70
 
71
71
  If you think you've found a factual or technical error, or you just have a question or suggestion about some part of the Markdown or Factor documentation, we'd :heart: you to open an issue or pull request.
72
72
 
73
- ### [Factor icon](https://github.com/exercism/xfactor/tree/master/img/icon.png)
73
+ ### [Factor icon](https://github.com/exercism/factor/tree/master/img/icon.png)
74
74
 
75
75
  The Factor "Tyrannosaurus Rex" logo is owned by John Benediktsson. We have adapted it, changing the colour scheme, with his permission.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "factor",
3
3
  "language": "Factor",
4
- "repository": "https://github.com/exercism/xfactor",
4
+ "repository": "https://github.com/exercism/factor",
5
5
  "active": false,
6
6
  "test_pattern": "TODO",
7
7
  "exercises": [