trackler 2.1.0.0 → 2.1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/connect/description.md +2 -1
  3. data/common/exercises/crypto-square/canonical-data.json +2 -2
  4. data/common/exercises/two-bucket/canonical-data.json +27 -1
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/c/exercises/perfect-numbers/src/example.c +8 -4
  7. data/tracks/clojure/config.json +5 -0
  8. data/tracks/clojure/exercises/secret-handshake/project.clj +4 -0
  9. data/tracks/clojure/exercises/secret-handshake/src/example.clj +19 -0
  10. data/tracks/clojure/exercises/secret-handshake/test/secret_handshake_test.clj +55 -0
  11. data/tracks/cpp/.travis.yml +4 -3
  12. data/tracks/cpp/README.md +1 -1
  13. data/tracks/cpp/config.json +171 -67
  14. data/tracks/cpp/docs/ABOUT.md +2 -2
  15. data/tracks/cpp/docs/INSTALLATION.md +22 -28
  16. data/tracks/cpp/docs/TESTS.md +1 -1
  17. data/tracks/cpp/exercises/anagram/CMakeLists.txt +2 -9
  18. data/tracks/cpp/exercises/beer-song/CMakeLists.txt +2 -9
  19. data/tracks/cpp/exercises/binary/CMakeLists.txt +2 -9
  20. data/tracks/cpp/exercises/bob/CMakeLists.txt +2 -9
  21. data/tracks/cpp/exercises/clock/CMakeLists.txt +2 -9
  22. data/tracks/cpp/exercises/clock/clock_test.cpp +188 -64
  23. data/tracks/cpp/exercises/clock/example.cpp +17 -12
  24. data/tracks/cpp/exercises/clock/example.h +1 -0
  25. data/tracks/cpp/exercises/crypto-square/CMakeLists.txt +2 -9
  26. data/tracks/cpp/exercises/difference-of-squares/CMakeLists.txt +2 -9
  27. data/tracks/cpp/exercises/etl/CMakeLists.txt +2 -9
  28. data/tracks/cpp/exercises/etl/etl_test.cpp +5 -5
  29. data/tracks/cpp/exercises/food-chain/CMakeLists.txt +2 -9
  30. data/tracks/cpp/exercises/gigasecond/CMakeLists.txt +2 -9
  31. data/tracks/cpp/exercises/gigasecond/example.cpp +2 -6
  32. data/tracks/cpp/exercises/gigasecond/example.h +2 -2
  33. data/tracks/cpp/exercises/gigasecond/gigasecond_test.cpp +26 -8
  34. data/tracks/cpp/exercises/grade-school/CMakeLists.txt +2 -9
  35. data/tracks/cpp/exercises/grade-school/grade_school_test.cpp +5 -6
  36. data/tracks/cpp/exercises/grains/CMakeLists.txt +2 -9
  37. data/tracks/cpp/exercises/hamming/CMakeLists.txt +2 -9
  38. data/tracks/cpp/exercises/hello-world/CMakeLists.txt +2 -9
  39. data/tracks/cpp/exercises/hexadecimal/CMakeLists.txt +2 -9
  40. data/tracks/cpp/exercises/leap/CMakeLists.txt +2 -9
  41. data/tracks/cpp/exercises/meetup/CMakeLists.txt +2 -9
  42. data/tracks/cpp/exercises/meetup/meetup_test.cpp +1 -1
  43. data/tracks/cpp/exercises/nth-prime/CMakeLists.txt +2 -9
  44. data/tracks/cpp/exercises/nucleotide-count/CMakeLists.txt +2 -9
  45. data/tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp +3 -4
  46. data/tracks/cpp/exercises/phone-number/CMakeLists.txt +2 -9
  47. data/tracks/cpp/exercises/prime-factors/CMakeLists.txt +2 -9
  48. data/tracks/cpp/exercises/queen-attack/CMakeLists.txt +2 -9
  49. data/tracks/cpp/exercises/raindrops/CMakeLists.txt +2 -9
  50. data/tracks/cpp/exercises/rna-transcription/CMakeLists.txt +2 -9
  51. data/tracks/cpp/exercises/robot-name/CMakeLists.txt +2 -9
  52. data/tracks/cpp/exercises/roman-numerals/CMakeLists.txt +2 -9
  53. data/tracks/cpp/exercises/say/CMakeLists.txt +2 -9
  54. data/tracks/cpp/exercises/scrabble-score/CMakeLists.txt +2 -9
  55. data/tracks/cpp/exercises/series/CMakeLists.txt +2 -9
  56. data/tracks/cpp/exercises/series/series_test.cpp +11 -11
  57. data/tracks/cpp/exercises/sieve/CMakeLists.txt +2 -9
  58. data/tracks/cpp/exercises/space-age/CMakeLists.txt +2 -9
  59. data/tracks/cpp/exercises/sum-of-multiples/CMakeLists.txt +2 -9
  60. data/tracks/cpp/exercises/triangle/CMakeLists.txt +2 -9
  61. data/tracks/cpp/exercises/trinary/CMakeLists.txt +2 -9
  62. data/tracks/cpp/exercises/word-count/CMakeLists.txt +2 -9
  63. data/tracks/cpp/exercises/word-count/word_count_test.cpp +14 -15
  64. data/tracks/go/README.md +27 -13
  65. data/tracks/go/config.json +1 -0
  66. data/tracks/go/exercises/connect/.meta/gen.go +1 -3
  67. data/tracks/go/exercises/connect/cases_test.go +2 -1
  68. data/tracks/go/exercises/custom-set/.meta/gen.go +122 -101
  69. data/tracks/go/exercises/custom-set/cases_test.go +13 -4
  70. data/tracks/go/exercises/custom-set/custom_set_test.go +2 -2
  71. data/tracks/go/exercises/hamming/.meta/gen.go +1 -3
  72. data/tracks/go/exercises/hamming/cases_test.go +7 -1
  73. data/tracks/go/exercises/hamming/example.go +1 -1
  74. data/tracks/go/exercises/hamming/hamming_test.go +1 -1
  75. data/tracks/go/exercises/hello-world/{hello_example_test.go → example_helloworld_test.go} +0 -0
  76. data/tracks/go/exercises/house/house_test.go +8 -8
  77. data/tracks/go/exercises/meetup/.meta/gen.go +1 -3
  78. data/tracks/go/exercises/meetup/cases_test.go +2 -1
  79. data/tracks/go/exercises/palindrome-products/example.go +1 -1
  80. data/tracks/go/exercises/palindrome-products/palindrome_products_test.go +1 -1
  81. data/tracks/go/exercises/pascals-triangle/pascals_triangle_test.go +24 -4
  82. data/tracks/go/exercises/rna-transcription/.meta/gen.go +1 -3
  83. data/tracks/go/exercises/rna-transcription/cases_test.go +2 -1
  84. data/tracks/go/exercises/roman-numerals/.meta/gen.go +1 -3
  85. data/tracks/go/exercises/roman-numerals/cases_test.go +2 -1
  86. data/tracks/go/exercises/roman-numerals/example.go +1 -1
  87. data/tracks/go/exercises/transpose/.meta/gen.go +1 -3
  88. data/tracks/go/exercises/transpose/cases_test.go +2 -1
  89. data/tracks/go/exercises/transpose/transpose_test.go +5 -0
  90. data/tracks/go/exercises/word-count/.meta/gen.go +1 -3
  91. data/tracks/go/exercises/word-count/cases_test.go +2 -1
  92. data/tracks/go/gen/gen.go +3 -2
  93. data/tracks/java/config.json +5 -0
  94. data/tracks/java/exercises/saddle-points/build.gradle +17 -0
  95. data/tracks/java/exercises/saddle-points/src/example/java/Matrix.java +44 -0
  96. data/tracks/java/exercises/saddle-points/src/example/java/MatrixCoordinate.java +31 -0
  97. data/tracks/java/exercises/saddle-points/src/main/java/Matrix.java +5 -0
  98. data/tracks/java/exercises/saddle-points/src/main/java/MatrixCoordinate.java +31 -0
  99. data/tracks/java/exercises/saddle-points/src/test/java/MatrixTest.java +82 -0
  100. data/tracks/java/exercises/settings.gradle +1 -0
  101. data/tracks/javascript/.travis.yml +3 -1
  102. data/tracks/javascript/Makefile +2 -8
  103. data/tracks/javascript/SETUP.md +1 -2
  104. data/tracks/javascript/docs/INSTALLATION.md +3 -4
  105. data/tracks/javascript/docs/TESTS.md +14 -26
  106. data/tracks/javascript/exercises/hamming/example.js +7 -11
  107. data/tracks/javascript/exercises/hello-world/HINTS.md +3 -3
  108. data/tracks/javascript/exercises/robot-simulator/example.js +72 -73
  109. data/tracks/perl6/config.json +5 -0
  110. data/tracks/perl6/exercises/clock/Clock.pm6 +4 -0
  111. data/tracks/perl6/exercises/clock/Example.pm6 +12 -0
  112. data/tracks/perl6/exercises/clock/clock.t +534 -0
  113. data/tracks/perl6/exercises/clock/example.yaml +16 -0
  114. data/tracks/perl6/exercises/robot-name/Example.pm +11 -4
  115. data/tracks/php/exercises/hello-world/hello-world.php +1 -1
  116. data/tracks/php/exercises/hello-world/hello-world_test.php +1 -11
  117. data/tracks/php/exercises/robot-name/robot-name_test.php +1 -0
  118. data/tracks/purescript/config.json +7 -0
  119. data/tracks/purescript/exercises/largest-series-product/bower.json +16 -0
  120. data/tracks/purescript/exercises/largest-series-product/examples/src/LargestSeriesProduct.purs +31 -0
  121. data/tracks/purescript/exercises/largest-series-product/src/LargestSeriesProduct.purs +3 -0
  122. data/tracks/purescript/exercises/largest-series-product/test/Main.purs +73 -0
  123. data/tracks/python/exercises/sublist/sublist_test.py +94 -55
  124. data/tracks/ruby/README.md +38 -25
  125. data/tracks/ruby/exercises/hamming/example.tt +6 -4
  126. data/tracks/ruby/exercises/hamming/hamming_test.rb +4 -5
  127. data/tracks/ruby/exercises/linked-list/linked_list_test.rb +16 -0
  128. data/tracks/ruby/exercises/luhn/luhn_test.rb +5 -5
  129. data/tracks/ruby/exercises/ocr-numbers/.meta/.version +1 -0
  130. data/tracks/ruby/exercises/ocr-numbers/example.rb +42 -61
  131. data/tracks/ruby/exercises/ocr-numbers/example.tt +21 -0
  132. data/tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb +63 -138
  133. data/tracks/ruby/lib/generator/exercise_cases.rb +43 -0
  134. data/tracks/ruby/lib/generator/underscore.rb +9 -0
  135. data/tracks/ruby/lib/hamming_cases.rb +9 -14
  136. data/tracks/ruby/lib/luhn_cases.rb +2 -18
  137. data/tracks/ruby/lib/ocr_numbers_cases.rb +20 -0
  138. data/tracks/ruby/lib/pig_latin_cases.rb +2 -12
  139. data/tracks/ruby/test/generator/underscore_test.rb +23 -0
  140. data/tracks/scala/config.json +316 -316
  141. metadata +26 -10
  142. data/tracks/cpp/exercises/etl/require_equal_containers.h +0 -88
  143. data/tracks/cpp/exercises/grade-school/require_equal_containers.h +0 -88
  144. data/tracks/cpp/exercises/nucleotide-count/require_equal_containers.h +0 -88
  145. data/tracks/cpp/exercises/series/require_equal_containers.h +0 -88
  146. data/tracks/cpp/exercises/word-count/require_equal_containers.h +0 -88
  147. data/tracks/javascript/exercises/acronym/package.json +0 -12
  148. data/tracks/javascript/package.json +0 -12
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.0
4
+ version: 2.1.0.1
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-04-22 00:00:00.000000000 Z
11
+ date: 2017-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -1036,6 +1036,9 @@ files:
1036
1036
  - tracks/clojure/exercises/scrabble-score/project.clj
1037
1037
  - tracks/clojure/exercises/scrabble-score/src/example.clj
1038
1038
  - tracks/clojure/exercises/scrabble-score/test/scrabble_score_test.clj
1039
+ - tracks/clojure/exercises/secret-handshake/project.clj
1040
+ - tracks/clojure/exercises/secret-handshake/src/example.clj
1041
+ - tracks/clojure/exercises/secret-handshake/test/secret_handshake_test.clj
1039
1042
  - tracks/clojure/exercises/sieve/project.clj
1040
1043
  - tracks/clojure/exercises/sieve/src/example.clj
1041
1044
  - tracks/clojure/exercises/sieve/test/sieve_test.clj
@@ -1195,7 +1198,6 @@ files:
1195
1198
  - tracks/cpp/exercises/etl/etl_test.cpp
1196
1199
  - tracks/cpp/exercises/etl/example.cpp
1197
1200
  - tracks/cpp/exercises/etl/example.h
1198
- - tracks/cpp/exercises/etl/require_equal_containers.h
1199
1201
  - tracks/cpp/exercises/food-chain/CMakeLists.txt
1200
1202
  - tracks/cpp/exercises/food-chain/example.cpp
1201
1203
  - tracks/cpp/exercises/food-chain/example.h
@@ -1208,7 +1210,6 @@ files:
1208
1210
  - tracks/cpp/exercises/grade-school/example.cpp
1209
1211
  - tracks/cpp/exercises/grade-school/example.h
1210
1212
  - tracks/cpp/exercises/grade-school/grade_school_test.cpp
1211
- - tracks/cpp/exercises/grade-school/require_equal_containers.h
1212
1213
  - tracks/cpp/exercises/grains/CMakeLists.txt
1213
1214
  - tracks/cpp/exercises/grains/example.cpp
1214
1215
  - tracks/cpp/exercises/grains/example.h
@@ -1239,7 +1240,6 @@ files:
1239
1240
  - tracks/cpp/exercises/nucleotide-count/example.cpp
1240
1241
  - tracks/cpp/exercises/nucleotide-count/example.h
1241
1242
  - tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp
1242
- - tracks/cpp/exercises/nucleotide-count/require_equal_containers.h
1243
1243
  - tracks/cpp/exercises/phone-number/CMakeLists.txt
1244
1244
  - tracks/cpp/exercises/phone-number/example.cpp
1245
1245
  - tracks/cpp/exercises/phone-number/example.h
@@ -1279,7 +1279,6 @@ files:
1279
1279
  - tracks/cpp/exercises/series/CMakeLists.txt
1280
1280
  - tracks/cpp/exercises/series/example.cpp
1281
1281
  - tracks/cpp/exercises/series/example.h
1282
- - tracks/cpp/exercises/series/require_equal_containers.h
1283
1282
  - tracks/cpp/exercises/series/series_test.cpp
1284
1283
  - tracks/cpp/exercises/sieve/CMakeLists.txt
1285
1284
  - tracks/cpp/exercises/sieve/example.cpp
@@ -1304,7 +1303,6 @@ files:
1304
1303
  - tracks/cpp/exercises/word-count/CMakeLists.txt
1305
1304
  - tracks/cpp/exercises/word-count/example.cpp
1306
1305
  - tracks/cpp/exercises/word-count/example.h
1307
- - tracks/cpp/exercises/word-count/require_equal_containers.h
1308
1306
  - tracks/cpp/exercises/word-count/word_count_test.cpp
1309
1307
  - tracks/cpp/img/icon.png
1310
1308
  - tracks/crystal/.git
@@ -3476,7 +3474,7 @@ files:
3476
3474
  - tracks/go/exercises/hamming/hamming.go
3477
3475
  - tracks/go/exercises/hamming/hamming_test.go
3478
3476
  - tracks/go/exercises/hello-world/example.go
3479
- - tracks/go/exercises/hello-world/hello_example_test.go
3477
+ - tracks/go/exercises/hello-world/example_helloworld_test.go
3480
3478
  - tracks/go/exercises/hello-world/hello_test.go
3481
3479
  - tracks/go/exercises/hello-world/hello_world.go
3482
3480
  - tracks/go/exercises/hexadecimal/example.go
@@ -4541,6 +4539,12 @@ files:
4541
4539
  - tracks/java/exercises/roman-numerals/src/example/java/RomanNumeral.java
4542
4540
  - tracks/java/exercises/roman-numerals/src/main/java/.keep
4543
4541
  - tracks/java/exercises/roman-numerals/src/test/java/RomanNumeralsTest.java
4542
+ - tracks/java/exercises/saddle-points/build.gradle
4543
+ - tracks/java/exercises/saddle-points/src/example/java/Matrix.java
4544
+ - tracks/java/exercises/saddle-points/src/example/java/MatrixCoordinate.java
4545
+ - tracks/java/exercises/saddle-points/src/main/java/Matrix.java
4546
+ - tracks/java/exercises/saddle-points/src/main/java/MatrixCoordinate.java
4547
+ - tracks/java/exercises/saddle-points/src/test/java/MatrixTest.java
4544
4548
  - tracks/java/exercises/scrabble-score/build.gradle
4545
4549
  - tracks/java/exercises/scrabble-score/src/example/java/Scrabble.java
4546
4550
  - tracks/java/exercises/scrabble-score/src/main/java/.keep
@@ -4639,7 +4643,6 @@ files:
4639
4643
  - tracks/javascript/exercises/accumulate/example.js
4640
4644
  - tracks/javascript/exercises/acronym/acronym.spec.js
4641
4645
  - tracks/javascript/exercises/acronym/example.js
4642
- - tracks/javascript/exercises/acronym/package.json
4643
4646
  - tracks/javascript/exercises/all-your-base/all-your-base.spec.js
4644
4647
  - tracks/javascript/exercises/all-your-base/example.js
4645
4648
  - tracks/javascript/exercises/allergies/allergies.spec.js
@@ -4786,7 +4789,6 @@ files:
4786
4789
  - tracks/javascript/exercises/wordy/example.js
4787
4790
  - tracks/javascript/exercises/wordy/wordy.spec.js
4788
4791
  - tracks/javascript/img/icon.png
4789
- - tracks/javascript/package.json
4790
4792
  - tracks/julia/.git
4791
4793
  - tracks/julia/.gitignore
4792
4794
  - tracks/julia/.travis.yml
@@ -6291,6 +6293,10 @@ files:
6291
6293
  - tracks/perl6/exercises/bob/Bob.pm6
6292
6294
  - tracks/perl6/exercises/bob/Example.pm
6293
6295
  - tracks/perl6/exercises/bob/bob.t
6296
+ - tracks/perl6/exercises/clock/Clock.pm6
6297
+ - tracks/perl6/exercises/clock/Example.pm6
6298
+ - tracks/perl6/exercises/clock/clock.t
6299
+ - tracks/perl6/exercises/clock/example.yaml
6294
6300
  - tracks/perl6/exercises/grade-school/Example.pm
6295
6301
  - tracks/perl6/exercises/grade-school/GradeSchool.pm6
6296
6302
  - tracks/perl6/exercises/grade-school/grade-school.t
@@ -6663,6 +6669,10 @@ files:
6663
6669
  - tracks/purescript/exercises/isogram/examples/src/Isogram.purs
6664
6670
  - tracks/purescript/exercises/isogram/src/Isogram.purs
6665
6671
  - tracks/purescript/exercises/isogram/test/Main.purs
6672
+ - tracks/purescript/exercises/largest-series-product/bower.json
6673
+ - tracks/purescript/exercises/largest-series-product/examples/src/LargestSeriesProduct.purs
6674
+ - tracks/purescript/exercises/largest-series-product/src/LargestSeriesProduct.purs
6675
+ - tracks/purescript/exercises/largest-series-product/test/Main.purs
6666
6676
  - tracks/purescript/exercises/leap/bower.json
6667
6677
  - tracks/purescript/exercises/leap/examples/src/Leap.purs
6668
6678
  - tracks/purescript/exercises/leap/src/Leap.purs
@@ -7279,7 +7289,9 @@ files:
7279
7289
  - tracks/ruby/exercises/nth-prime/nth_prime_test.rb
7280
7290
  - tracks/ruby/exercises/nucleotide-count/example.rb
7281
7291
  - tracks/ruby/exercises/nucleotide-count/nucleotide_count_test.rb
7292
+ - tracks/ruby/exercises/ocr-numbers/.meta/.version
7282
7293
  - tracks/ruby/exercises/ocr-numbers/example.rb
7294
+ - tracks/ruby/exercises/ocr-numbers/example.tt
7283
7295
  - tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb
7284
7296
  - tracks/ruby/exercises/octal/example.rb
7285
7297
  - tracks/ruby/exercises/octal/octal_test.rb
@@ -7414,12 +7426,14 @@ files:
7414
7426
  - tracks/ruby/lib/exercise_cases.rb
7415
7427
  - tracks/ruby/lib/generator.rb
7416
7428
  - tracks/ruby/lib/generator/command_line.rb
7429
+ - tracks/ruby/lib/generator/exercise_cases.rb
7417
7430
  - tracks/ruby/lib/generator/files.rb
7418
7431
  - tracks/ruby/lib/generator/files/metadata_files.rb
7419
7432
  - tracks/ruby/lib/generator/files/track_files.rb
7420
7433
  - tracks/ruby/lib/generator/git_command.rb
7421
7434
  - tracks/ruby/lib/generator/repository.rb
7422
7435
  - tracks/ruby/lib/generator/template_values.rb
7436
+ - tracks/ruby/lib/generator/underscore.rb
7423
7437
  - tracks/ruby/lib/gigasecond_cases.rb
7424
7438
  - tracks/ruby/lib/grains_cases.rb
7425
7439
  - tracks/ruby/lib/hamming_cases.rb
@@ -7430,6 +7444,7 @@ files:
7430
7444
  - tracks/ruby/lib/leap_cases.rb
7431
7445
  - tracks/ruby/lib/luhn_cases.rb
7432
7446
  - tracks/ruby/lib/nth_prime_cases.rb
7447
+ - tracks/ruby/lib/ocr_numbers_cases.rb
7433
7448
  - tracks/ruby/lib/pangram_cases.rb
7434
7449
  - tracks/ruby/lib/pig_latin_cases.rb
7435
7450
  - tracks/ruby/lib/queen_attack_cases.rb
@@ -7461,6 +7476,7 @@ files:
7461
7476
  - tracks/ruby/test/generator/git_command_test.rb
7462
7477
  - tracks/ruby/test/generator/repository_test.rb
7463
7478
  - tracks/ruby/test/generator/template_values_test.rb
7479
+ - tracks/ruby/test/generator/underscore_test.rb
7464
7480
  - tracks/ruby/test/generator_test.rb
7465
7481
  - tracks/ruby/test/grains_cases_test.rb
7466
7482
  - tracks/ruby/test/tasks/exercise_test.rb
@@ -1,88 +0,0 @@
1
- #if !defined(REQUIRE_EQUAL_CONTAINERS_H)
2
- #define REQUIRE_EQUAL_CONTAINERS_H
3
-
4
- #include <utility>
5
- #include <vector>
6
- #include <boost/version.hpp>
7
-
8
- #if BOOST_VERSION >= 105900
9
-
10
- namespace boost
11
- {
12
- namespace test_tools
13
- {
14
- namespace tt_detail
15
- {
16
-
17
- // teach Boost.Test how to print std::vector<T>
18
- template <typename T>
19
- inline std::ostream &operator<<(std::ostream &str, std::vector<T> const &items)
20
- {
21
- str << '[';
22
- bool first = true;
23
- for (auto const& element : items) {
24
- str << (!first ? "," : "") << element;
25
- first = false;
26
- }
27
- return str << ']';
28
- }
29
-
30
- // teach Boost.Test how to print std::pair<K,V>
31
- template <typename K, typename V>
32
- inline std::ostream &operator<<(std::ostream &str, std::pair<K, V> const& item)
33
- {
34
- return str << '<' << item.first << ',' << item.second << '>';
35
- }
36
-
37
- } // namespace tt_detail
38
- } // namespace test_tools
39
- } // namespace boost
40
-
41
- #else // BOOST_VERSION < 105900
42
-
43
- namespace boost
44
- {
45
-
46
- // teach Boost.Test how to print std::vector to wrap_stringstream
47
- template <typename T>
48
- inline wrap_stringstream&
49
- operator<<(wrap_stringstream& wrapped, std::vector<T> const& item)
50
- {
51
- wrapped << '[';
52
- bool first = true;
53
- for (auto const& element : item) {
54
- wrapped << (!first ? "," : "") << element;
55
- first = false;
56
- }
57
- return wrapped << ']';
58
- }
59
-
60
- // teach Boost.Test how to print std::pair<K,V> to wrap_stringstream
61
- template <typename K, typename V>
62
- inline wrap_stringstream &operator<<(wrap_stringstream &str, std::pair<K, V> const& item)
63
- {
64
- return str << '<' << item.first << ',' << item.second << '>';
65
- }
66
-
67
- namespace test_tools
68
- {
69
-
70
- // teach Boost.Test how to print std::pair with BOOST_REQUIRE_EQUAL
71
- template<>
72
- struct print_log_value<std::pair<int, int>>
73
- {
74
- void operator()(std::ostream& ostr, std::pair<int, int> const& item)
75
- {
76
- ostr << '<' << item.first << ',' << item.second << '>';
77
- }
78
- };
79
-
80
- } // namespace test_tools
81
- } // namespace boost
82
-
83
- #endif // BOOST_VERSION
84
-
85
- #define REQUIRE_EQUAL_CONTAINERS(left_, right_) \
86
- BOOST_REQUIRE_EQUAL_COLLECTIONS(left_.begin(), left_.end(), right_.begin(), right_.end())
87
-
88
- #endif
@@ -1,88 +0,0 @@
1
- #if !defined(REQUIRE_EQUAL_CONTAINERS_H)
2
- #define REQUIRE_EQUAL_CONTAINERS_H
3
-
4
- #include <utility>
5
- #include <vector>
6
- #include <boost/version.hpp>
7
-
8
- #if BOOST_VERSION >= 105900
9
-
10
- namespace boost
11
- {
12
- namespace test_tools
13
- {
14
- namespace tt_detail
15
- {
16
-
17
- // teach Boost.Test how to print std::vector<T>
18
- template <typename T>
19
- inline std::ostream &operator<<(std::ostream &str, std::vector<T> const &items)
20
- {
21
- str << '[';
22
- bool first = true;
23
- for (auto const& element : items) {
24
- str << (!first ? "," : "") << element;
25
- first = false;
26
- }
27
- return str << ']';
28
- }
29
-
30
- // teach Boost.Test how to print std::pair<K,V>
31
- template <typename K, typename V>
32
- inline std::ostream &operator<<(std::ostream &str, std::pair<K, V> const& item)
33
- {
34
- return str << '<' << item.first << ',' << item.second << '>';
35
- }
36
-
37
- } // namespace tt_detail
38
- } // namespace test_tools
39
- } // namespace boost
40
-
41
- #else // BOOST_VERSION < 105900
42
-
43
- namespace boost
44
- {
45
-
46
- // teach Boost.Test how to print std::vector to wrap_stringstream
47
- template <typename T>
48
- inline wrap_stringstream&
49
- operator<<(wrap_stringstream& wrapped, std::vector<T> const& item)
50
- {
51
- wrapped << '[';
52
- bool first = true;
53
- for (auto const& element : item) {
54
- wrapped << (!first ? "," : "") << element;
55
- first = false;
56
- }
57
- return wrapped << ']';
58
- }
59
-
60
- // teach Boost.Test how to print std::pair<K,V> to wrap_stringstream
61
- template <typename K, typename V>
62
- inline wrap_stringstream &operator<<(wrap_stringstream &str, std::pair<K, V> const& item)
63
- {
64
- return str << '<' << item.first << ',' << item.second << '>';
65
- }
66
-
67
- namespace test_tools
68
- {
69
-
70
- // teach Boost.Test how to print std::pair with BOOST_REQUIRE_EQUAL
71
- template<>
72
- struct print_log_value<std::pair<int, int>>
73
- {
74
- void operator()(std::ostream& ostr, std::pair<int, int> const& item)
75
- {
76
- ostr << '<' << item.first << ',' << item.second << '>';
77
- }
78
- };
79
-
80
- } // namespace test_tools
81
- } // namespace boost
82
-
83
- #endif // BOOST_VERSION
84
-
85
- #define REQUIRE_EQUAL_CONTAINERS(left_, right_) \
86
- BOOST_REQUIRE_EQUAL_COLLECTIONS(left_.begin(), left_.end(), right_.begin(), right_.end())
87
-
88
- #endif
@@ -1,88 +0,0 @@
1
- #if !defined(REQUIRE_EQUAL_CONTAINERS_H)
2
- #define REQUIRE_EQUAL_CONTAINERS_H
3
-
4
- #include <utility>
5
- #include <vector>
6
- #include <boost/version.hpp>
7
-
8
- #if BOOST_VERSION >= 105900
9
-
10
- namespace boost
11
- {
12
- namespace test_tools
13
- {
14
- namespace tt_detail
15
- {
16
-
17
- // teach Boost.Test how to print std::vector<T>
18
- template <typename T>
19
- inline std::ostream &operator<<(std::ostream &str, std::vector<T> const &items)
20
- {
21
- str << '[';
22
- bool first = true;
23
- for (auto const& element : items) {
24
- str << (!first ? "," : "") << element;
25
- first = false;
26
- }
27
- return str << ']';
28
- }
29
-
30
- // teach Boost.Test how to print std::pair<K,V>
31
- template <typename K, typename V>
32
- inline std::ostream &operator<<(std::ostream &str, std::pair<K, V> const& item)
33
- {
34
- return str << '<' << item.first << ',' << item.second << '>';
35
- }
36
-
37
- } // namespace tt_detail
38
- } // namespace test_tools
39
- } // namespace boost
40
-
41
- #else // BOOST_VERSION < 105900
42
-
43
- namespace boost
44
- {
45
-
46
- // teach Boost.Test how to print std::vector to wrap_stringstream
47
- template <typename T>
48
- inline wrap_stringstream&
49
- operator<<(wrap_stringstream& wrapped, std::vector<T> const& item)
50
- {
51
- wrapped << '[';
52
- bool first = true;
53
- for (auto const& element : item) {
54
- wrapped << (!first ? "," : "") << element;
55
- first = false;
56
- }
57
- return wrapped << ']';
58
- }
59
-
60
- // teach Boost.Test how to print std::pair<K,V> to wrap_stringstream
61
- template <typename K, typename V>
62
- inline wrap_stringstream &operator<<(wrap_stringstream &str, std::pair<K, V> const& item)
63
- {
64
- return str << '<' << item.first << ',' << item.second << '>';
65
- }
66
-
67
- namespace test_tools
68
- {
69
-
70
- // teach Boost.Test how to print std::pair with BOOST_REQUIRE_EQUAL
71
- template<>
72
- struct print_log_value<std::pair<int, int>>
73
- {
74
- void operator()(std::ostream& ostr, std::pair<int, int> const& item)
75
- {
76
- ostr << '<' << item.first << ',' << item.second << '>';
77
- }
78
- };
79
-
80
- } // namespace test_tools
81
- } // namespace boost
82
-
83
- #endif // BOOST_VERSION
84
-
85
- #define REQUIRE_EQUAL_CONTAINERS(left_, right_) \
86
- BOOST_REQUIRE_EQUAL_COLLECTIONS(left_.begin(), left_.end(), right_.begin(), right_.end())
87
-
88
- #endif
@@ -1,88 +0,0 @@
1
- #if !defined(REQUIRE_EQUAL_CONTAINERS_H)
2
- #define REQUIRE_EQUAL_CONTAINERS_H
3
-
4
- #include <utility>
5
- #include <vector>
6
- #include <boost/version.hpp>
7
-
8
- #if BOOST_VERSION >= 105900
9
-
10
- namespace boost
11
- {
12
- namespace test_tools
13
- {
14
- namespace tt_detail
15
- {
16
-
17
- // teach Boost.Test how to print std::vector<T>
18
- template <typename T>
19
- inline std::ostream &operator<<(std::ostream &str, std::vector<T> const &items)
20
- {
21
- str << '[';
22
- bool first = true;
23
- for (auto const& element : items) {
24
- str << (!first ? "," : "") << element;
25
- first = false;
26
- }
27
- return str << ']';
28
- }
29
-
30
- // teach Boost.Test how to print std::pair<K,V>
31
- template <typename K, typename V>
32
- inline std::ostream &operator<<(std::ostream &str, std::pair<K, V> const& item)
33
- {
34
- return str << '<' << item.first << ',' << item.second << '>';
35
- }
36
-
37
- } // namespace tt_detail
38
- } // namespace test_tools
39
- } // namespace boost
40
-
41
- #else // BOOST_VERSION < 105900
42
-
43
- namespace boost
44
- {
45
-
46
- // teach Boost.Test how to print std::vector to wrap_stringstream
47
- template <typename T>
48
- inline wrap_stringstream&
49
- operator<<(wrap_stringstream& wrapped, std::vector<T> const& item)
50
- {
51
- wrapped << '[';
52
- bool first = true;
53
- for (auto const& element : item) {
54
- wrapped << (!first ? "," : "") << element;
55
- first = false;
56
- }
57
- return wrapped << ']';
58
- }
59
-
60
- // teach Boost.Test how to print std::pair<K,V> to wrap_stringstream
61
- template <typename K, typename V>
62
- inline wrap_stringstream &operator<<(wrap_stringstream &str, std::pair<K, V> const& item)
63
- {
64
- return str << '<' << item.first << ',' << item.second << '>';
65
- }
66
-
67
- namespace test_tools
68
- {
69
-
70
- // teach Boost.Test how to print std::pair with BOOST_REQUIRE_EQUAL
71
- template<>
72
- struct print_log_value<std::pair<int, int>>
73
- {
74
- void operator()(std::ostream& ostr, std::pair<int, int> const& item)
75
- {
76
- ostr << '<' << item.first << ',' << item.second << '>';
77
- }
78
- };
79
-
80
- } // namespace test_tools
81
- } // namespace boost
82
-
83
- #endif // BOOST_VERSION
84
-
85
- #define REQUIRE_EQUAL_CONTAINERS(left_, right_) \
86
- BOOST_REQUIRE_EQUAL_COLLECTIONS(left_.begin(), left_.end(), right_.begin(), right_.end())
87
-
88
- #endif