trackler 2.1.0.32 → 2.1.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +1 -24
  3. data/fixtures/tracks/animal/config.json +6 -2
  4. data/fixtures/tracks/fake/config.json +0 -5
  5. data/fixtures/tracks/fruit/config.json +16 -4
  6. data/fixtures/tracks/jewels/config.json +6 -2
  7. data/fixtures/tracks/shoes/config.json +6 -2
  8. data/fixtures/tracks/snowflake/config.json +21 -5
  9. data/lib/trackler/track.rb +0 -11
  10. data/lib/trackler/version.rb +1 -1
  11. data/tracks/c/config.json +281 -245
  12. data/tracks/c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  13. data/tracks/ceylon/config.json +0 -5
  14. data/tracks/ceylon/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  15. data/tracks/cpp/config.json +9 -13
  16. data/tracks/cpp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  17. data/tracks/cpp/exercises/grade-school/grade_school_test.cpp +1 -0
  18. data/tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp +1 -0
  19. data/tracks/crystal/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  20. data/tracks/csharp/config.json +4 -9
  21. data/tracks/csharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  22. data/tracks/delphi/config.json +31 -36
  23. data/tracks/delphi/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  24. data/tracks/ecmascript/config.json +65 -7
  25. data/tracks/ecmascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  26. data/tracks/elixir/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  27. data/tracks/elm/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  28. data/tracks/erlang/_test/bootstrap.sh +3 -5
  29. data/tracks/erlang/config.json +108 -40
  30. data/tracks/erlang/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  31. data/tracks/factor/config.json +6 -14
  32. data/tracks/factor/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  33. data/tracks/fsharp/config.json +1 -1
  34. data/tracks/fsharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  35. data/tracks/go/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  36. data/tracks/haskell/config.json +0 -4
  37. data/tracks/haskell/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  38. data/tracks/idris/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  39. data/tracks/java/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  40. data/tracks/java/exercises/isogram/HINT.md +10 -0
  41. data/tracks/javascript/config.json +57 -6
  42. data/tracks/javascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  43. data/tracks/julia/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  44. data/tracks/kotlin/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  45. data/tracks/lfe/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  46. data/tracks/lisp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  47. data/tracks/lua/config.json +684 -611
  48. data/tracks/lua/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  49. data/tracks/objective-c/config.json +235 -241
  50. data/tracks/objective-c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  51. data/tracks/ocaml/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  52. data/tracks/perl6/config.json +70 -32
  53. data/tracks/php/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  54. data/tracks/r/config.json +72 -24
  55. data/tracks/r/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  56. data/tracks/racket/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  57. data/tracks/ruby/exercises/bob/.meta/.version +1 -0
  58. data/tracks/ruby/exercises/bob/.meta/generator/bob_case.rb +9 -0
  59. data/tracks/ruby/exercises/bob/.meta/solutions/bob.rb +4 -0
  60. data/tracks/ruby/exercises/bob/bob_test.rb +95 -50
  61. data/tracks/rust/config.json +0 -5
  62. data/tracks/rust/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  63. data/tracks/scala/config.json +758 -758
  64. data/tracks/scala/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  65. data/tracks/scheme/docs/EXERCISE_README_INSERT.md +0 -0
  66. data/tracks/swift/config.json +468 -478
  67. data/tracks/swift/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  68. data/tracks/typescript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  69. data/tracks/vbnet/config.json +21 -7
  70. metadata +37 -33
@@ -9,12 +9,6 @@
9
9
  "binary",
10
10
  "trinary"
11
11
  ],
12
- "ignored": [
13
- "docs",
14
- "templates",
15
- "x-common",
16
- "img"
17
- ],
18
12
  "foregone": [
19
13
 
20
14
  ],
@@ -22,112 +16,156 @@
22
16
  {
23
17
  "difficulty": 1,
24
18
  "slug": "hello-world",
25
- "topics": []
19
+ "topics": [
20
+
21
+ ]
26
22
  },
27
23
  {
28
24
  "difficulty": 1,
29
25
  "slug": "leap",
30
- "topics": []
26
+ "topics": [
27
+
28
+ ]
31
29
  },
32
30
  {
33
31
  "difficulty": 1,
34
32
  "slug": "bob",
35
- "topics": []
33
+ "topics": [
34
+
35
+ ]
36
36
  },
37
37
  {
38
38
  "difficulty": 1,
39
39
  "slug": "phone-number",
40
- "topics": []
40
+ "topics": [
41
+
42
+ ]
41
43
  },
42
44
  {
43
45
  "difficulty": 1,
44
46
  "slug": "rna-transcription",
45
- "topics": []
47
+ "topics": [
48
+
49
+ ]
46
50
  },
47
51
  {
48
52
  "difficulty": 1,
49
53
  "slug": "clock",
50
- "topics": []
54
+ "topics": [
55
+
56
+ ]
51
57
  },
52
58
  {
53
59
  "difficulty": 1,
54
60
  "slug": "wordy",
55
- "topics": []
61
+ "topics": [
62
+
63
+ ]
56
64
  },
57
65
  {
58
66
  "difficulty": 1,
59
67
  "slug": "raindrops",
60
- "topics": []
68
+ "topics": [
69
+
70
+ ]
61
71
  },
62
72
  {
63
73
  "difficulty": 1,
64
74
  "slug": "scrabble-score",
65
- "topics": []
75
+ "topics": [
76
+
77
+ ]
66
78
  },
67
79
  {
68
80
  "difficulty": 1,
69
81
  "slug": "luhn",
70
- "topics": []
82
+ "topics": [
83
+
84
+ ]
71
85
  },
72
86
  {
73
87
  "difficulty": 1,
74
88
  "slug": "word-count",
75
- "topics": []
89
+ "topics": [
90
+
91
+ ]
76
92
  },
77
93
  {
78
94
  "difficulty": 1,
79
95
  "slug": "flatten-array",
80
- "topics": []
96
+ "topics": [
97
+
98
+ ]
81
99
  },
82
100
  {
83
101
  "difficulty": 1,
84
102
  "slug": "grade-school",
85
- "topics": []
103
+ "topics": [
104
+
105
+ ]
86
106
  },
87
107
  {
88
108
  "difficulty": 1,
89
109
  "slug": "accumulate",
90
- "topics": []
110
+ "topics": [
111
+
112
+ ]
91
113
  },
92
114
  {
93
115
  "difficulty": 1,
94
116
  "slug": "grains",
95
- "topics": []
117
+ "topics": [
118
+
119
+ ]
96
120
  },
97
121
  {
98
122
  "difficulty": 1,
99
123
  "slug": "all-your-base",
100
- "topics": []
124
+ "topics": [
125
+
126
+ ]
101
127
  },
102
128
  {
103
129
  "difficulty": 1,
104
130
  "slug": "anagram",
105
- "topics": []
131
+ "topics": [
132
+
133
+ ]
106
134
  },
107
135
  {
108
136
  "difficulty": 1,
109
137
  "slug": "robot-name",
110
- "topics": []
138
+ "topics": [
139
+
140
+ ]
111
141
  },
112
142
  {
113
- "difficulty" : 1,
114
- "slug" : "atbash-cipher",
115
- "topics" : []
143
+ "difficulty": 1,
144
+ "slug": "atbash-cipher",
145
+ "topics": [
146
+
147
+ ]
116
148
  },
117
149
  {
118
150
  "difficulty": 1,
119
151
  "slug": "space-age",
120
- "topics": []
152
+ "topics": [
153
+
154
+ ]
121
155
  },
122
156
  {
123
- "difficulty" : 1,
124
- "slug" : "allergies",
125
- "topics" : []
157
+ "difficulty": 1,
158
+ "slug": "allergies",
159
+ "topics": [
160
+
161
+ ]
126
162
  },
127
163
  {
128
164
  "difficulty": 1,
129
165
  "slug": "linked-list",
130
- "topics": []
166
+ "topics": [
167
+
168
+ ]
131
169
  }
132
170
  ]
133
171
  }
data/tracks/r/config.json CHANGED
@@ -18,122 +18,170 @@
18
18
  {
19
19
  "difficulty": 1,
20
20
  "slug": "hello-world",
21
- "topics": []
21
+ "topics": [
22
+
23
+ ]
22
24
  },
23
25
  {
24
26
  "difficulty": 1,
25
27
  "slug": "leap",
26
- "topics": []
28
+ "topics": [
29
+
30
+ ]
27
31
  },
28
32
  {
29
33
  "difficulty": 1,
30
34
  "slug": "bob",
31
- "topics": []
35
+ "topics": [
36
+
37
+ ]
32
38
  },
33
39
  {
34
40
  "difficulty": 1,
35
41
  "slug": "hamming",
36
- "topics": []
42
+ "topics": [
43
+
44
+ ]
37
45
  },
38
46
  {
39
47
  "difficulty": 1,
40
48
  "slug": "rna-transcription",
41
- "topics": []
49
+ "topics": [
50
+
51
+ ]
42
52
  },
43
53
  {
44
54
  "difficulty": 1,
45
55
  "slug": "difference-of-squares",
46
- "topics": []
56
+ "topics": [
57
+
58
+ ]
47
59
  },
48
60
  {
49
61
  "difficulty": 1,
50
62
  "slug": "raindrops",
51
- "topics": []
63
+ "topics": [
64
+
65
+ ]
52
66
  },
53
67
  {
54
68
  "difficulty": 1,
55
69
  "slug": "grains",
56
- "topics": []
70
+ "topics": [
71
+
72
+ ]
57
73
  },
58
74
  {
59
75
  "difficulty": 1,
60
76
  "slug": "anagram",
61
- "topics": []
77
+ "topics": [
78
+
79
+ ]
62
80
  },
63
81
  {
64
82
  "difficulty": 1,
65
83
  "slug": "space-age",
66
- "topics": []
84
+ "topics": [
85
+
86
+ ]
67
87
  },
68
88
  {
69
89
  "difficulty": 1,
70
90
  "slug": "sum-of-multiples",
71
- "topics": []
91
+ "topics": [
92
+
93
+ ]
72
94
  },
73
95
  {
74
96
  "difficulty": 1,
75
97
  "slug": "word-count",
76
- "topics": []
98
+ "topics": [
99
+
100
+ ]
77
101
  },
78
102
  {
79
103
  "difficulty": 1,
80
104
  "slug": "phone-number",
81
- "topics": []
105
+ "topics": [
106
+
107
+ ]
82
108
  },
83
109
  {
84
110
  "difficulty": 1,
85
111
  "slug": "rotational-cipher",
86
- "topics": []
112
+ "topics": [
113
+
114
+ ]
87
115
  },
88
116
  {
89
117
  "difficulty": 1,
90
118
  "slug": "scrabble-score",
91
- "topics": []
119
+ "topics": [
120
+
121
+ ]
92
122
  },
93
123
  {
94
124
  "difficulty": 1,
95
125
  "slug": "isogram",
96
- "topics": []
126
+ "topics": [
127
+
128
+ ]
97
129
  },
98
130
  {
99
131
  "difficulty": 1,
100
132
  "slug": "perfect-numbers",
101
- "topics": []
133
+ "topics": [
134
+
135
+ ]
102
136
  },
103
137
  {
104
138
  "difficulty": 1,
105
139
  "slug": "prime-factors",
106
- "topics": []
140
+ "topics": [
141
+
142
+ ]
107
143
  },
108
144
  {
109
145
  "difficulty": 1,
110
146
  "slug": "sieve",
111
- "topics": []
147
+ "topics": [
148
+
149
+ ]
112
150
  },
113
151
  {
114
152
  "difficulty": 1,
115
153
  "slug": "largest-series-product",
116
- "topics": []
154
+ "topics": [
155
+
156
+ ]
117
157
  },
118
158
  {
119
159
  "difficulty": 1,
120
160
  "slug": "luhn",
121
- "topics": []
161
+ "topics": [
162
+
163
+ ]
122
164
  },
123
165
  {
124
166
  "difficulty": 1,
125
167
  "slug": "secret-handshake",
126
- "topics": []
168
+ "topics": [
169
+
170
+ ]
127
171
  },
128
172
  {
129
173
  "difficulty": 1,
130
174
  "slug": "pascals-triangle",
131
- "topics": []
175
+ "topics": [
176
+
177
+ ]
132
178
  },
133
179
  {
134
180
  "difficulty": 1,
135
181
  "slug": "tournament",
136
- "topics": []
182
+ "topics": [
183
+
184
+ ]
137
185
  }
138
186
  ]
139
187
  }
@@ -0,0 +1 @@
1
+ 1
@@ -0,0 +1,9 @@
1
+ require 'generator/exercise_case'
2
+
3
+ class BobCase < Generator::ExerciseCase
4
+ def workload
5
+ indent_lines(["remark = #{input.inspect}",
6
+ "assert_equal '#{expected}', Bob.hey(remark), %q{Bob hears #{input.inspect}, and..}"
7
+ ], 4)
8
+ end
9
+ end
@@ -1,3 +1,7 @@
1
+ module BookKeeping
2
+ VERSION = 1
3
+ end
4
+
1
5
  module Bob
2
6
  def hey(drivel)
3
7
  answer Phrase.new(drivel)
@@ -2,133 +2,178 @@
2
2
  require 'minitest/autorun'
3
3
  require_relative 'bob'
4
4
 
5
+ # Common test data version: 1.0.0 65756b1
5
6
  class BobTest < Minitest::Test
6
- def bob
7
- Bob
8
- end
9
-
10
- def feedback(text)
11
- "Bob hears #{text.inspect}, and.."
12
- end
13
7
 
14
8
  def test_stating_something
15
- remark = 'Tom-ay-to, tom-aaaah-to.'
16
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
9
+ # skip
10
+ remark = "Tom-ay-to, tom-aaaah-to."
11
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "Tom-ay-to, tom-aaaah-to.", and..}
17
12
  end
18
13
 
19
14
  def test_shouting
20
15
  skip
21
- remark = 'WATCH OUT!'
22
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
16
+ remark = "WATCH OUT!"
17
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "WATCH OUT!", and..}
23
18
  end
24
19
 
25
20
  def test_shouting_gibberish
26
21
  skip
27
- remark = ('A'..'Z').to_a.sample(10).join
28
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
22
+ remark = "FCECDFCAAB"
23
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "FCECDFCAAB", and..}
29
24
  end
30
25
 
31
26
  def test_asking_a_question
32
27
  skip
33
- remark = 'Does this cryogenic chamber make me look fat?'
34
- assert_equal 'Sure.', bob.hey(remark), feedback(remark)
28
+ remark = "Does this cryogenic chamber make me look fat?"
29
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "Does this cryogenic chamber make me look fat?", and..}
35
30
  end
36
31
 
37
32
  def test_asking_a_numeric_question
38
33
  skip
39
- remark = 'You are, what, like 15?'
40
- assert_equal 'Sure.', bob.hey(remark), feedback(remark)
34
+ remark = "You are, what, like 15?"
35
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "You are, what, like 15?", and..}
41
36
  end
42
37
 
43
38
  def test_asking_gibberish
44
39
  skip
45
- remark = ('a'..'z').to_a.sample(10).join << '?'
46
- assert_equal 'Sure.', bob.hey(remark), feedback(remark)
40
+ remark = "fffbbcbeab?"
41
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "fffbbcbeab?", and..}
47
42
  end
48
43
 
49
44
  def test_talking_forcefully
50
45
  skip
51
46
  remark = "Let's go make out behind the gym!"
52
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
47
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "Let's go make out behind the gym!", and..}
53
48
  end
54
49
 
55
50
  def test_using_acronyms_in_regular_speech
56
51
  skip
57
52
  remark = "It's OK if you don't want to go to the DMV."
58
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
53
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "It's OK if you don't want to go to the DMV.", and..}
59
54
  end
60
55
 
61
- def test_forceful_questions
56
+ def test_forceful_question
62
57
  skip
63
- remark = 'WHAT THE HELL WERE YOU THINKING?'
64
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
58
+ remark = "WHAT THE HELL WERE YOU THINKING?"
59
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "WHAT THE HELL WERE YOU THINKING?", and..}
65
60
  end
66
61
 
67
62
  def test_shouting_numbers
68
63
  skip
69
- remark = '1, 2, 3 GO!'
70
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
64
+ remark = "1, 2, 3 GO!"
65
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "1, 2, 3 GO!", and..}
71
66
  end
72
67
 
73
68
  def test_only_numbers
74
69
  skip
75
- remark = '1, 2, 3'
76
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
70
+ remark = "1, 2, 3"
71
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "1, 2, 3", and..}
77
72
  end
78
73
 
79
74
  def test_question_with_only_numbers
80
75
  skip
81
- remark = '4?'
82
- assert_equal 'Sure.', bob.hey(remark), feedback(remark)
76
+ remark = "4?"
77
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "4?", and..}
83
78
  end
84
79
 
85
80
  def test_shouting_with_special_characters
86
81
  skip
87
- remark = 'ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!'
88
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
82
+ remark = "ZOMG THE %^*@\#$(*^ ZOMBIES ARE COMING!!11!!1!"
83
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "ZOMG THE %^*@\#$(*^ ZOMBIES ARE COMING!!11!!1!", and..}
89
84
  end
90
85
 
91
86
  def test_shouting_with_no_exclamation_mark
92
87
  skip
93
- remark = 'I HATE YOU'
94
- assert_equal 'Whoa, chill out!', bob.hey(remark), feedback(remark)
88
+ remark = "I HATE YOU"
89
+ assert_equal 'Whoa, chill out!', Bob.hey(remark), %q{Bob hears "I HATE YOU", and..}
95
90
  end
96
91
 
97
92
  def test_statement_containing_question_mark
98
93
  skip
99
- remark = 'Ending with ? means a question.'
100
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
94
+ remark = "Ending with ? means a question."
95
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "Ending with ? means a question.", and..}
96
+ end
97
+
98
+ def test_non_letters_with_question
99
+ skip
100
+ remark = ":) ?"
101
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears ":) ?", and..}
101
102
  end
102
103
 
103
104
  def test_prattling_on
104
105
  skip
105
- remark = 'Wait! Hang on. Are you going to be OK?'
106
- assert_equal 'Sure.', bob.hey(remark), feedback(remark)
106
+ remark = "Wait! Hang on. Are you going to be OK?"
107
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "Wait! Hang on. Are you going to be OK?", and..}
107
108
  end
108
109
 
109
110
  def test_silence
110
111
  skip
111
- remark = ''
112
- assert_equal 'Fine. Be that way!', bob.hey(remark), feedback(remark)
112
+ remark = ""
113
+ assert_equal 'Fine. Be that way!', Bob.hey(remark), %q{Bob hears "", and..}
113
114
  end
114
115
 
115
116
  def test_prolonged_silence
116
117
  skip
117
- remark = ' ' * rand(1..10)
118
- assert_equal 'Fine. Be that way!', bob.hey(remark), feedback(remark)
118
+ remark = " "
119
+ assert_equal 'Fine. Be that way!', Bob.hey(remark), %q{Bob hears " ", and..}
120
+ end
121
+
122
+ def test_alternate_silence
123
+ skip
124
+ remark = "\t\t\t\t\t\t\t\t\t\t"
125
+ assert_equal 'Fine. Be that way!', Bob.hey(remark), %q{Bob hears "\t\t\t\t\t\t\t\t\t\t", and..}
126
+ end
127
+
128
+ def test_multiple_line_question
129
+ skip
130
+ remark = "\nDoes this cryogenic chamber make me look fat?\nno"
131
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "\nDoes this cryogenic chamber make me look fat?\nno", and..}
132
+ end
133
+
134
+ def test_starting_with_whitespace
135
+ skip
136
+ remark = " hmmmmmmm..."
137
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears " hmmmmmmm...", and..}
119
138
  end
120
139
 
121
- def test_alternate_silences
140
+ def test_ending_with_whitespace
122
141
  skip
123
- remark = "\t" * rand(1..10)
124
- assert_equal 'Fine. Be that way!', bob.hey(remark), feedback(remark)
142
+ remark = "Okay if like my spacebar quite a bit? "
143
+ assert_equal 'Sure.', Bob.hey(remark), %q{Bob hears "Okay if like my spacebar quite a bit? ", and..}
125
144
  end
126
145
 
127
- def test_on_multiple_line_questions
146
+ def test_other_whitespace
147
+ skip
148
+ remark = "\n\r \t"
149
+ assert_equal 'Fine. Be that way!', Bob.hey(remark), %q{Bob hears "\n\r \t", and..}
150
+ end
151
+
152
+ def test_non_question_ending_with_whitespace
153
+ skip
154
+ remark = "This is a statement ending with whitespace "
155
+ assert_equal 'Whatever.', Bob.hey(remark), %q{Bob hears "This is a statement ending with whitespace ", and..}
156
+ end
157
+
158
+ # Problems in exercism evolve over time, as we find better ways to ask
159
+ # questions.
160
+ # The version number refers to the version of the problem you solved,
161
+ # not your solution.
162
+ #
163
+ # Define a constant named VERSION inside of the top level BookKeeping
164
+ # module, which may be placed near the end of your file.
165
+ #
166
+ # In your file, it will look like this:
167
+ #
168
+ # module BookKeeping
169
+ # VERSION = 1 # Where the version number matches the one in the test.
170
+ # end
171
+ #
172
+ # If you are curious, read more about constants on RubyDoc:
173
+ # http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
174
+
175
+ def test_bookkeeping
128
176
  skip
129
- remark = %(
130
- Does this cryogenic chamber make me look fat?
131
- no)
132
- assert_equal 'Whatever.', bob.hey(remark), feedback(remark)
177
+ assert_equal 1, BookKeeping::VERSION
133
178
  end
134
179
  end