trackler 2.2.1.95 → 2.2.1.96
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/problem-specifications/exercises/two-bucket/canonical-data.json +31 -31
- data/tracks/csharp/docs/ABOUT.md +21 -3
- data/tracks/dart/.travis.yml +1 -2
- data/tracks/dart/README.md +2 -2
- data/tracks/dart/{tool/create-exercise → bin/create_exercise.dart} +14 -10
- data/tracks/dart/test/create_exercise_test.dart +132 -0
- data/tracks/dart/test/exercises_test.dart +1 -1
- data/tracks/fsharp/exercises/list-ops/Example.fs +5 -5
- data/tracks/fsharp/exercises/list-ops/ListOps.fs +1 -1
- data/tracks/fsharp/exercises/list-ops/ListOpsTest.fs +41 -62
- data/tracks/fsharp/generators/Common.fs +3 -0
- data/tracks/fsharp/generators/Formatting.fs +3 -1
- data/tracks/fsharp/generators/Generators.fs +21 -0
- data/tracks/go/config.json +14 -0
- data/tracks/go/exercises/grep/.meta/gen.go +76 -0
- data/tracks/go/exercises/grep/.meta/hints.md +13 -0
- data/tracks/go/exercises/grep/README.md +104 -0
- data/tracks/go/exercises/grep/cases_test.go +202 -0
- data/tracks/go/exercises/grep/example.go +102 -0
- data/tracks/go/exercises/grep/grep_test.go +84 -0
- data/tracks/java/exercises/anagram/.meta/version +1 -1
- data/tracks/java/exercises/anagram/src/test/java/AnagramTest.java +0 -32
- data/tracks/java/exercises/space-age/.meta/src/reference/java/SpaceAge.java +0 -4
- data/tracks/java/exercises/space-age/.meta/version +1 -0
- data/tracks/java/exercises/space-age/src/test/java/SpaceAgeTest.java +0 -16
- data/tracks/julia/.gitignore +1 -0
- data/tracks/julia/exercises/complex-numbers/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/julia/exercises/custom-set/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/julia/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/julia/exercises/rotational-cipher/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/julia/runtests.jl +24 -25
- data/tracks/perl6/.travis.yml +7 -3
- data/tracks/perl6/Dockerfile +4 -0
- data/tracks/perl6/exercises/accumulate/Accumulate.pm6 +1 -1
- data/tracks/perl6/exercises/accumulate/Example.pm6 +1 -1
- data/tracks/perl6/exercises/accumulate/accumulate.t +6 -15
- data/tracks/perl6/exercises/accumulate/example.yaml +2 -3
- data/tracks/perl6/exercises/acronym/Acronym.pm6 +1 -1
- data/tracks/perl6/exercises/acronym/Example.pm6 +1 -1
- data/tracks/perl6/exercises/acronym/acronym.t +7 -29
- data/tracks/perl6/exercises/acronym/example.yaml +2 -3
- data/tracks/perl6/exercises/all-your-base/AllYourBase.pm6 +1 -1
- data/tracks/perl6/exercises/all-your-base/Example.pm6 +1 -1
- data/tracks/perl6/exercises/all-your-base/all-your-base.t +7 -29
- data/tracks/perl6/exercises/all-your-base/example.yaml +2 -3
- data/tracks/perl6/exercises/allergies/Allergies.pm6 +1 -1
- data/tracks/perl6/exercises/allergies/Example.pm6 +1 -1
- data/tracks/perl6/exercises/allergies/allergies.t +7 -29
- data/tracks/perl6/exercises/allergies/example.yaml +2 -3
- data/tracks/perl6/exercises/anagram/Anagram.pm6 +1 -1
- data/tracks/perl6/exercises/anagram/Example.pm6 +1 -1
- data/tracks/perl6/exercises/anagram/anagram.t +7 -29
- data/tracks/perl6/exercises/anagram/example.yaml +2 -3
- data/tracks/perl6/exercises/atbash-cipher/AtbashCipher.pm6 +1 -1
- data/tracks/perl6/exercises/atbash-cipher/Example.pm6 +1 -1
- data/tracks/perl6/exercises/atbash-cipher/atbash-cipher.t +7 -29
- data/tracks/perl6/exercises/atbash-cipher/example.yaml +2 -3
- data/tracks/{julia/exercises/.keep → perl6/exercises/binary/Binary.pm6} +0 -0
- data/tracks/perl6/exercises/binary/binary.t +3 -5
- data/tracks/perl6/exercises/bob/Bob.pm6 +1 -1
- data/tracks/perl6/exercises/bob/Example.pm6 +1 -1
- data/tracks/perl6/exercises/bob/bob.t +9 -32
- data/tracks/perl6/exercises/bob/example.yaml +3 -7
- data/tracks/perl6/exercises/clock/Clock.pm6 +1 -1
- data/tracks/perl6/exercises/clock/Example.pm6 +1 -1
- data/tracks/perl6/exercises/clock/clock.t +12 -32
- data/tracks/perl6/exercises/clock/example.yaml +6 -6
- data/tracks/perl6/exercises/etl/ETL.pm6 +1 -1
- data/tracks/perl6/exercises/etl/Example.pm6 +1 -1
- data/tracks/perl6/exercises/etl/etl.t +7 -29
- data/tracks/perl6/exercises/etl/example.yaml +2 -3
- data/tracks/perl6/exercises/flatten-array/Example.pm6 +1 -1
- data/tracks/perl6/exercises/flatten-array/FlattenArray.pm6 +1 -1
- data/tracks/perl6/exercises/flatten-array/example.yaml +2 -3
- data/tracks/perl6/exercises/flatten-array/flatten-array.t +7 -29
- data/tracks/perl6/exercises/grade-school/Example.pm6 +1 -1
- data/tracks/perl6/exercises/grade-school/GradeSchool.pm6 +1 -1
- data/tracks/perl6/exercises/grade-school/example.yaml +2 -3
- data/tracks/perl6/exercises/grade-school/grade-school.t +6 -15
- data/tracks/perl6/exercises/grains/Example.pm6 +1 -1
- data/tracks/perl6/exercises/grains/Grains.pm6 +1 -1
- data/tracks/perl6/exercises/grains/example.yaml +2 -3
- data/tracks/perl6/exercises/grains/grains.t +7 -29
- data/tracks/perl6/exercises/hamming/Example.pm6 +1 -1
- data/tracks/perl6/exercises/hamming/Hamming.pm6 +1 -1
- data/tracks/perl6/exercises/hamming/example.yaml +2 -3
- data/tracks/perl6/exercises/hamming/hamming.t +7 -29
- data/tracks/perl6/exercises/hello-world/Example.pm6 +1 -1
- data/tracks/perl6/exercises/hello-world/HelloWorld.pm6 +1 -1
- data/tracks/perl6/exercises/hello-world/example.yaml +2 -8
- data/tracks/perl6/exercises/hello-world/hello-world.t +7 -33
- data/tracks/perl6/exercises/leap/Example.pm6 +1 -1
- data/tracks/perl6/exercises/leap/Leap.pm6 +1 -1
- data/tracks/perl6/exercises/leap/example.yaml +2 -3
- data/tracks/perl6/exercises/leap/leap.t +7 -29
- data/tracks/perl6/exercises/linked-list/Example.pm6 +1 -1
- data/tracks/perl6/exercises/linked-list/LinkedList.pm6 +1 -1
- data/tracks/perl6/exercises/linked-list/example.yaml +3 -3
- data/tracks/perl6/exercises/linked-list/linked-list.t +9 -16
- data/tracks/perl6/exercises/luhn/Example.pm6 +1 -1
- data/tracks/perl6/exercises/luhn/Luhn.pm6 +1 -1
- data/tracks/perl6/exercises/luhn/example.yaml +2 -3
- data/tracks/perl6/exercises/luhn/luhn.t +7 -29
- data/tracks/perl6/exercises/meetup/Example.pm6 +1 -1
- data/tracks/perl6/exercises/meetup/Meetup.pm6 +1 -1
- data/tracks/perl6/exercises/meetup/example.yaml +2 -3
- data/tracks/perl6/exercises/meetup/meetup.t +7 -29
- data/tracks/perl6/exercises/nucleotide-count/Example.pm6 +1 -1
- data/tracks/perl6/exercises/nucleotide-count/NucleotideCount.pm6 +1 -1
- data/tracks/perl6/exercises/nucleotide-count/example.yaml +2 -3
- data/tracks/perl6/exercises/nucleotide-count/nucleotide-count.t +7 -29
- data/tracks/perl6/exercises/pangram/Example.pm6 +1 -1
- data/tracks/perl6/exercises/pangram/Pangram.pm6 +1 -1
- data/tracks/perl6/exercises/pangram/example.yaml +2 -3
- data/tracks/perl6/exercises/pangram/pangram.t +7 -29
- data/tracks/perl6/exercises/phone-number/Example.pm6 +1 -1
- data/tracks/perl6/exercises/phone-number/Phone.pm6 +1 -1
- data/tracks/perl6/exercises/phone-number/example.yaml +2 -3
- data/tracks/perl6/exercises/phone-number/phone-number.t +7 -29
- data/tracks/perl6/exercises/raindrops/Example.pm6 +1 -1
- data/tracks/perl6/exercises/raindrops/Raindrops.pm6 +1 -1
- data/tracks/perl6/exercises/raindrops/example.yaml +2 -3
- data/tracks/perl6/exercises/raindrops/raindrops.t +7 -29
- data/tracks/perl6/exercises/rna-transcription/Example.pm6 +1 -1
- data/tracks/perl6/exercises/rna-transcription/RNA.pm6 +1 -1
- data/tracks/perl6/exercises/rna-transcription/example.yaml +2 -3
- data/tracks/perl6/exercises/rna-transcription/rna-transcription.t +7 -29
- data/tracks/perl6/exercises/robot-name/Example.pm6 +1 -1
- data/tracks/perl6/exercises/robot-name/Robot.pm6 +1 -1
- data/tracks/perl6/exercises/robot-name/example.yaml +5 -5
- data/tracks/perl6/exercises/robot-name/robot-name.t +10 -17
- data/tracks/perl6/exercises/roman-numerals/Example.pm6 +1 -1
- data/tracks/perl6/exercises/roman-numerals/RomanNumerals.pm6 +1 -1
- data/tracks/perl6/exercises/roman-numerals/example.yaml +2 -3
- data/tracks/perl6/exercises/roman-numerals/roman-numerals.t +7 -29
- data/tracks/perl6/exercises/scrabble-score/Example.pm6 +1 -1
- data/tracks/perl6/exercises/scrabble-score/Scrabble.pm6 +1 -1
- data/tracks/perl6/exercises/scrabble-score/example.yaml +2 -3
- data/tracks/perl6/exercises/scrabble-score/scrabble-score.t +7 -29
- data/tracks/perl6/exercises/space-age/Example.pm6 +1 -1
- data/tracks/perl6/exercises/space-age/SpaceAge.pm6 +1 -1
- data/tracks/perl6/exercises/space-age/example.yaml +2 -3
- data/tracks/perl6/exercises/space-age/space-age.t +7 -29
- data/tracks/perl6/exercises/trinary/Trinary.pm6 +0 -0
- data/tracks/perl6/exercises/trinary/trinary.t +2 -5
- data/tracks/perl6/exercises/two-fer/Example.pm6 +1 -1
- data/tracks/perl6/exercises/two-fer/TwoFer.pm6 +1 -1
- data/tracks/perl6/exercises/two-fer/example.yaml +2 -8
- data/tracks/perl6/exercises/two-fer/two-fer.t +7 -33
- data/tracks/perl6/exercises/word-count/Example.pm6 +1 -1
- data/tracks/perl6/exercises/word-count/WordCount.pm6 +1 -1
- data/tracks/perl6/exercises/word-count/example.yaml +2 -3
- data/tracks/perl6/exercises/word-count/word-count.t +7 -29
- data/tracks/perl6/exercises/wordy/Example.pm6 +1 -1
- data/tracks/perl6/exercises/wordy/Wordy.pm6 +1 -1
- data/tracks/perl6/exercises/wordy/example.yaml +2 -3
- data/tracks/perl6/exercises/wordy/wordy.t +7 -29
- data/tracks/perl6/templates/test.mustache +10 -39
- data/tracks/python/config.json +10 -0
- data/tracks/python/exercises/all-your-base/all_your_base_test.py +2 -2
- data/tracks/python/exercises/binary-search/binary_search_test.py +2 -2
- data/tracks/python/exercises/binary/binary_test.py +2 -2
- data/tracks/python/exercises/bob/bob_test.py +4 -2
- data/tracks/python/exercises/bob/example.py +5 -2
- data/tracks/python/exercises/circular-buffer/circular_buffer_test.py +2 -2
- data/tracks/python/exercises/custom-set/README.md +20 -0
- data/tracks/python/exercises/custom-set/custom_set.py +30 -0
- data/tracks/python/exercises/custom-set/custom_set_test.py +212 -0
- data/tracks/python/exercises/custom-set/example.py +45 -0
- data/tracks/python/exercises/dot-dsl/dot_dsl_test.py +20 -10
- data/tracks/python/exercises/error-handling/error_handling_test.py +2 -2
- data/tracks/python/exercises/forth/forth_test.py +18 -18
- data/tracks/python/exercises/grains/grains_test.py +2 -2
- data/tracks/python/exercises/hamming/hamming_test.py +2 -2
- data/tracks/python/exercises/hexadecimal/hexadecimal_test.py +2 -2
- data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +2 -2
- data/tracks/python/exercises/meetup/meetup_test.py +2 -2
- data/tracks/python/exercises/minesweeper/minesweeper_test.py +2 -2
- data/tracks/python/exercises/nth-prime/nth_prime_test.py +2 -2
- data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +2 -2
- data/tracks/python/exercises/ocr-numbers/ocr_numbers_test.py +2 -2
- data/tracks/python/exercises/octal/octal_test.py +2 -2
- data/tracks/python/exercises/perfect-numbers/perfect_numbers_test.py +2 -2
- data/tracks/python/exercises/phone-number/phone_number_test.py +2 -2
- data/tracks/python/exercises/pov/pov_test.py +2 -2
- data/tracks/python/exercises/protein-translation/protein_translation_test.py +2 -2
- data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet_test.py +2 -2
- data/tracks/python/exercises/queen-attack/queen_attack_test.py +2 -2
- data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +2 -2
- data/tracks/python/exercises/saddle-points/saddle_points_test.py +2 -2
- data/tracks/python/exercises/say/say_test.py +2 -2
- data/tracks/python/exercises/scale-generator/scale_generator_test.py +2 -2
- data/tracks/python/exercises/series/series_test.py +2 -2
- data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +2 -2
- data/tracks/python/exercises/simple-linked-list/simple_linked_list_test.py +2 -2
- data/tracks/python/exercises/tree-building/tree_building_test.py +2 -2
- data/tracks/python/exercises/triangle/example.py +14 -24
- data/tracks/python/exercises/triangle/triangle.py +6 -6
- data/tracks/python/exercises/triangle/triangle_test.py +42 -44
- data/tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py +2 -2
- data/tracks/python/exercises/wordy/wordy_test.py +2 -2
- data/tracks/python/test/check-exercises.py +2 -1
- metadata +22 -8
@@ -0,0 +1,45 @@
|
|
1
|
+
class CustomSet(object):
|
2
|
+
def __init__(self, elements=[]):
|
3
|
+
self.elements = list(elements)
|
4
|
+
|
5
|
+
def isempty(self):
|
6
|
+
return not self.elements
|
7
|
+
|
8
|
+
def __iter__(self):
|
9
|
+
return iter(self.elements)
|
10
|
+
|
11
|
+
def __contains__(self, element):
|
12
|
+
return element in self.elements
|
13
|
+
|
14
|
+
def issubset(self, other):
|
15
|
+
return all(x in other for x in self)
|
16
|
+
|
17
|
+
def isdisjoint(self, other):
|
18
|
+
return all(x not in other for x in self)
|
19
|
+
|
20
|
+
def __eq__(self, other):
|
21
|
+
return self.issubset(other) and other.issubset(self)
|
22
|
+
|
23
|
+
def add(self, element):
|
24
|
+
if element not in self:
|
25
|
+
self.elements.append(element)
|
26
|
+
|
27
|
+
def intersection(self, other):
|
28
|
+
result = CustomSet()
|
29
|
+
for x in self:
|
30
|
+
if x in other:
|
31
|
+
result.add(x)
|
32
|
+
return result
|
33
|
+
|
34
|
+
def __sub__(self, other):
|
35
|
+
result = CustomSet()
|
36
|
+
for x in self:
|
37
|
+
if x not in other:
|
38
|
+
result.add(x)
|
39
|
+
return result
|
40
|
+
|
41
|
+
def __add__(self, other):
|
42
|
+
result = CustomSet(self.elements)
|
43
|
+
for x in other:
|
44
|
+
result.add(x)
|
45
|
+
return result
|
@@ -53,7 +53,7 @@ class DotDslTest(unittest.TestCase):
|
|
53
53
|
(ATTR, "title", "Testing Attrs"),
|
54
54
|
(NODE, "a", {"color": "green"}),
|
55
55
|
(NODE, "c", {}),
|
56
|
-
(NODE, "b", {"label"
|
56
|
+
(NODE, "b", {"label": "Beta!"}),
|
57
57
|
(EDGE, "b", "c", {}),
|
58
58
|
(EDGE, "a", "b", {"color": "blue"}),
|
59
59
|
(ATTR, "bar", "true")
|
@@ -61,7 +61,7 @@ class DotDslTest(unittest.TestCase):
|
|
61
61
|
|
62
62
|
self.assertEqual(g.nodes, [Node("a", {"color": "green"}),
|
63
63
|
Node("c", {}),
|
64
|
-
Node("b", {"label"
|
64
|
+
Node("b", {"label": "Beta!"})])
|
65
65
|
self.assertEqual(g.edges, [Edge("b", "c", {}),
|
66
66
|
Edge("a", "b", {"color": "blue"})])
|
67
67
|
self.assertEqual(g.attrs, {
|
@@ -71,47 +71,57 @@ class DotDslTest(unittest.TestCase):
|
|
71
71
|
})
|
72
72
|
|
73
73
|
def test_malformed_graph(self):
|
74
|
-
with self.
|
74
|
+
with self.assertRaisesWithMessage(TypeError):
|
75
75
|
Graph(1)
|
76
76
|
|
77
|
-
with self.
|
77
|
+
with self.assertRaisesWithMessage(TypeError):
|
78
78
|
Graph("problematic")
|
79
79
|
|
80
80
|
def test_malformed_graph_item(self):
|
81
|
-
with self.
|
81
|
+
with self.assertRaisesWithMessage(TypeError):
|
82
82
|
Graph([
|
83
83
|
()
|
84
84
|
])
|
85
85
|
|
86
|
-
with self.
|
86
|
+
with self.assertRaisesWithMessage(TypeError):
|
87
87
|
Graph([
|
88
88
|
(ATTR, )
|
89
89
|
])
|
90
90
|
|
91
91
|
def test_malformed_attr(self):
|
92
|
-
with self.
|
92
|
+
with self.assertRaisesWithMessage(ValueError):
|
93
93
|
Graph([
|
94
94
|
(ATTR, 1, 2, 3)
|
95
95
|
])
|
96
96
|
|
97
97
|
def test_malformed_node(self):
|
98
|
-
with self.
|
98
|
+
with self.assertRaisesWithMessage(ValueError):
|
99
99
|
Graph([
|
100
100
|
(NODE, 1, 2, 3)
|
101
101
|
])
|
102
102
|
|
103
103
|
def test_malformed_EDGE(self):
|
104
|
-
with self.
|
104
|
+
with self.assertRaisesWithMessage(ValueError):
|
105
105
|
Graph([
|
106
106
|
(EDGE, 1, 2)
|
107
107
|
])
|
108
108
|
|
109
109
|
def test_unknown_item(self):
|
110
|
-
with self.
|
110
|
+
with self.assertRaisesWithMessage(ValueError):
|
111
111
|
Graph([
|
112
112
|
(99, 1, 2)
|
113
113
|
])
|
114
114
|
|
115
|
+
# Utility methods
|
116
|
+
def setUp(self):
|
117
|
+
try:
|
118
|
+
self.assertRaisesRegex
|
119
|
+
except AttributeError:
|
120
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
121
|
+
|
122
|
+
def assertRaisesWithMessage(self, exception):
|
123
|
+
return self.assertRaisesRegex(exception, r".+")
|
124
|
+
|
115
125
|
|
116
126
|
if __name__ == '__main__':
|
117
127
|
unittest.main()
|
@@ -76,9 +76,9 @@ class ErrorHandlingTest(unittest.TestCase):
|
|
76
76
|
# Utility functions
|
77
77
|
def setUp(self):
|
78
78
|
try:
|
79
|
-
self.assertRaisesRegex
|
79
|
+
self.assertRaisesRegex
|
80
80
|
except AttributeError:
|
81
|
-
|
81
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
82
82
|
|
83
83
|
def assertRaisesWithMessage(self, exception):
|
84
84
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -42,9 +42,9 @@ class ForthAdditionTest(unittest.TestCase):
|
|
42
42
|
# Utility functions
|
43
43
|
def setUp(self):
|
44
44
|
try:
|
45
|
-
self.assertRaisesRegex
|
45
|
+
self.assertRaisesRegex
|
46
46
|
except AttributeError:
|
47
|
-
|
47
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
48
48
|
|
49
49
|
def assertRaisesWithMessage(self, exception):
|
50
50
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -69,9 +69,9 @@ class ForthSubtractionTest(unittest.TestCase):
|
|
69
69
|
# Utility functions
|
70
70
|
def setUp(self):
|
71
71
|
try:
|
72
|
-
self.assertRaisesRegex
|
72
|
+
self.assertRaisesRegex
|
73
73
|
except AttributeError:
|
74
|
-
|
74
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
75
75
|
|
76
76
|
def assertRaisesWithMessage(self, exception):
|
77
77
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -96,9 +96,9 @@ class ForthMultiplicationTest(unittest.TestCase):
|
|
96
96
|
# Utility functions
|
97
97
|
def setUp(self):
|
98
98
|
try:
|
99
|
-
self.assertRaisesRegex
|
99
|
+
self.assertRaisesRegex
|
100
100
|
except AttributeError:
|
101
|
-
|
101
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
102
102
|
|
103
103
|
def assertRaisesWithMessage(self, exception):
|
104
104
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -133,9 +133,9 @@ class ForthDivisionTest(unittest.TestCase):
|
|
133
133
|
# Utility functions
|
134
134
|
def setUp(self):
|
135
135
|
try:
|
136
|
-
self.assertRaisesRegex
|
136
|
+
self.assertRaisesRegex
|
137
137
|
except AttributeError:
|
138
|
-
|
138
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
139
139
|
|
140
140
|
def assertRaisesWithMessage(self, exception):
|
141
141
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -172,9 +172,9 @@ class ForthDupTest(unittest.TestCase):
|
|
172
172
|
# Utility functions
|
173
173
|
def setUp(self):
|
174
174
|
try:
|
175
|
-
self.assertRaisesRegex
|
175
|
+
self.assertRaisesRegex
|
176
176
|
except AttributeError:
|
177
|
-
|
177
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
178
178
|
|
179
179
|
def assertRaisesWithMessage(self, exception):
|
180
180
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -204,9 +204,9 @@ class ForthDropTest(unittest.TestCase):
|
|
204
204
|
# Utility functions
|
205
205
|
def setUp(self):
|
206
206
|
try:
|
207
|
-
self.assertRaisesRegex
|
207
|
+
self.assertRaisesRegex
|
208
208
|
except AttributeError:
|
209
|
-
|
209
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
210
210
|
|
211
211
|
def assertRaisesWithMessage(self, exception):
|
212
212
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -241,9 +241,9 @@ class ForthSwapTest(unittest.TestCase):
|
|
241
241
|
# Utility functions
|
242
242
|
def setUp(self):
|
243
243
|
try:
|
244
|
-
self.assertRaisesRegex
|
244
|
+
self.assertRaisesRegex
|
245
245
|
except AttributeError:
|
246
|
-
|
246
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
247
247
|
|
248
248
|
def assertRaisesWithMessage(self, exception):
|
249
249
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -278,9 +278,9 @@ class ForthOverTest(unittest.TestCase):
|
|
278
278
|
# Utility functions
|
279
279
|
def setUp(self):
|
280
280
|
try:
|
281
|
-
self.assertRaisesRegex
|
281
|
+
self.assertRaisesRegex
|
282
282
|
except AttributeError:
|
283
|
-
|
283
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
284
284
|
|
285
285
|
def assertRaisesWithMessage(self, exception):
|
286
286
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -349,9 +349,9 @@ class ForthUserDefinedWordsTest(unittest.TestCase):
|
|
349
349
|
# Utility functions
|
350
350
|
def setUp(self):
|
351
351
|
try:
|
352
|
-
self.assertRaisesRegex
|
352
|
+
self.assertRaisesRegex
|
353
353
|
except AttributeError:
|
354
|
-
|
354
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
355
355
|
|
356
356
|
def assertRaisesWithMessage(self, exception):
|
357
357
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -54,9 +54,9 @@ class GrainsTest(unittest.TestCase):
|
|
54
54
|
# Utility functions
|
55
55
|
def setUp(self):
|
56
56
|
try:
|
57
|
-
self.assertRaisesRegex
|
57
|
+
self.assertRaisesRegex
|
58
58
|
except AttributeError:
|
59
|
-
|
59
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
60
60
|
|
61
61
|
def assertRaisesWithMessage(self, exception):
|
62
62
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -57,9 +57,9 @@ class HammingTest(unittest.TestCase):
|
|
57
57
|
# Utility functions
|
58
58
|
def setUp(self):
|
59
59
|
try:
|
60
|
-
self.assertRaisesRegex
|
60
|
+
self.assertRaisesRegex
|
61
61
|
except AttributeError:
|
62
|
-
|
62
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
63
63
|
|
64
64
|
def assertRaisesWithMessage(self, exception):
|
65
65
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -41,9 +41,9 @@ class HexadecimalTest(unittest.TestCase):
|
|
41
41
|
# Utility functions
|
42
42
|
def setUp(self):
|
43
43
|
try:
|
44
|
-
self.assertRaisesRegex
|
44
|
+
self.assertRaisesRegex
|
45
45
|
except AttributeError:
|
46
|
-
|
46
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
47
47
|
|
48
48
|
def assertRaisesWithMessage(self, exception):
|
49
49
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -90,9 +90,9 @@ class SeriesTest(unittest.TestCase):
|
|
90
90
|
# Utility functions
|
91
91
|
def setUp(self):
|
92
92
|
try:
|
93
|
-
self.assertRaisesRegex
|
93
|
+
self.assertRaisesRegex
|
94
94
|
except AttributeError:
|
95
|
-
|
95
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
96
96
|
|
97
97
|
def assertRaisesWithMessage(self, exception):
|
98
98
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -405,9 +405,9 @@ class MeetupTest(unittest.TestCase):
|
|
405
405
|
# Utility functions
|
406
406
|
def setUp(self):
|
407
407
|
try:
|
408
|
-
self.assertRaisesRegex
|
408
|
+
self.assertRaisesRegex
|
409
409
|
except AttributeError:
|
410
|
-
|
410
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
411
411
|
|
412
412
|
def assertRaisesWithMessage(self, exception):
|
413
413
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -150,9 +150,9 @@ class MinesweeperTest(unittest.TestCase):
|
|
150
150
|
# Utility functions
|
151
151
|
def setUp(self):
|
152
152
|
try:
|
153
|
-
self.assertRaisesRegex
|
153
|
+
self.assertRaisesRegex
|
154
154
|
except AttributeError:
|
155
|
-
|
155
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
156
156
|
|
157
157
|
def assertRaisesWithMessage(self, exception):
|
158
158
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -31,9 +31,9 @@ class NthPrimeTests(unittest.TestCase):
|
|
31
31
|
# Utility functions
|
32
32
|
def setUp(self):
|
33
33
|
try:
|
34
|
-
self.assertRaisesRegex
|
34
|
+
self.assertRaisesRegex
|
35
35
|
except AttributeError:
|
36
|
-
|
36
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
37
37
|
|
38
38
|
def assertRaisesWithMessage(self, exception):
|
39
39
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -40,9 +40,9 @@ class DNATest(unittest.TestCase):
|
|
40
40
|
# Utility functions
|
41
41
|
def setUp(self):
|
42
42
|
try:
|
43
|
-
self.assertRaisesRegex
|
43
|
+
self.assertRaisesRegex
|
44
44
|
except AttributeError:
|
45
|
-
|
45
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
46
46
|
|
47
47
|
def assertRaisesWithMessage(self, exception):
|
48
48
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -140,9 +140,9 @@ class OcrTest(unittest.TestCase):
|
|
140
140
|
# Utility functions
|
141
141
|
def setUp(self):
|
142
142
|
try:
|
143
|
-
self.assertRaisesRegex
|
143
|
+
self.assertRaisesRegex
|
144
144
|
except AttributeError:
|
145
|
-
|
145
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
146
146
|
|
147
147
|
def assertRaisesWithMessage(self, exception):
|
148
148
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -46,9 +46,9 @@ class OctalTest(unittest.TestCase):
|
|
46
46
|
# Utility functions
|
47
47
|
def setUp(self):
|
48
48
|
try:
|
49
|
-
self.assertRaisesRegex
|
49
|
+
self.assertRaisesRegex
|
50
50
|
except AttributeError:
|
51
|
-
|
51
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
52
52
|
|
53
53
|
def assertRaisesWithMessage(self, exception):
|
54
54
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -79,9 +79,9 @@ class InvalidInputsTest(unittest.TestCase):
|
|
79
79
|
# Utility functions
|
80
80
|
def setUp(self):
|
81
81
|
try:
|
82
|
-
self.assertRaisesRegex
|
82
|
+
self.assertRaisesRegex
|
83
83
|
except AttributeError:
|
84
|
-
|
84
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
85
85
|
|
86
86
|
def assertRaisesWithMessage(self, exception):
|
87
87
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -70,9 +70,9 @@ class PhoneTest(unittest.TestCase):
|
|
70
70
|
# Utility functions
|
71
71
|
def setUp(self):
|
72
72
|
try:
|
73
|
-
self.assertRaisesRegex
|
73
|
+
self.assertRaisesRegex
|
74
74
|
except AttributeError:
|
75
|
-
|
75
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
76
76
|
|
77
77
|
def assertRaisesWithMessage(self, exception):
|
78
78
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -198,9 +198,9 @@ class PovTest(unittest.TestCase):
|
|
198
198
|
# Utility functions
|
199
199
|
def setUp(self):
|
200
200
|
try:
|
201
|
-
self.assertRaisesRegex
|
201
|
+
self.assertRaisesRegex
|
202
202
|
except AttributeError:
|
203
|
-
|
203
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
204
204
|
|
205
205
|
def assertRaisesWithMessage(self, exception):
|
206
206
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -68,9 +68,9 @@ class ProteinTranslationTests(unittest.TestCase):
|
|
68
68
|
# Utility functions
|
69
69
|
def setUp(self):
|
70
70
|
try:
|
71
|
-
self.assertRaisesRegex
|
71
|
+
self.assertRaisesRegex
|
72
72
|
except AttributeError:
|
73
|
-
|
73
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
74
74
|
|
75
75
|
def assertRaisesWithMessage(self, exception):
|
76
76
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -86,9 +86,9 @@ class PythagoreanTripletTest(unittest.TestCase):
|
|
86
86
|
# Utility functions
|
87
87
|
def setUp(self):
|
88
88
|
try:
|
89
|
-
self.assertRaisesRegex
|
89
|
+
self.assertRaisesRegex
|
90
90
|
except AttributeError:
|
91
|
-
|
91
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
92
92
|
|
93
93
|
def assertRaisesWithMessage(self, exception):
|
94
94
|
return self.assertRaisesRegex(exception, r".+")
|
@@ -91,9 +91,9 @@ class QueenAttackTest(unittest.TestCase):
|
|
91
91
|
# Utility functions
|
92
92
|
def setUp(self):
|
93
93
|
try:
|
94
|
-
self.assertRaisesRegex
|
94
|
+
self.assertRaisesRegex
|
95
95
|
except AttributeError:
|
96
|
-
|
96
|
+
self.assertRaisesRegex = self.assertRaisesRegexp
|
97
97
|
|
98
98
|
def assertRaisesWithMessage(self, exception):
|
99
99
|
return self.assertRaisesRegex(exception, r".+")
|