trackler 2.2.1.24 → 2.2.1.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/TOPICS.txt +73 -73
  4. data/tracks/bash/config.json +82 -73
  5. data/tracks/bash/config/maintainers.json +9 -9
  6. data/tracks/bash/exercises/nucleotide-count/README.md +38 -0
  7. data/tracks/bash/exercises/nucleotide-count/example.sh +38 -0
  8. data/tracks/bash/exercises/nucleotide-count/nucleotide_count_test.sh +29 -0
  9. data/tracks/csharp/.travis.yml +9 -2
  10. data/tracks/csharp/build.cake +7 -34
  11. data/tracks/csharp/build.ps1 +2 -2
  12. data/tracks/csharp/build.sh +2 -2
  13. data/tracks/csharp/docs/GENERATORS.md +102 -0
  14. data/tracks/csharp/exercises/Exercises.sln +669 -0
  15. data/tracks/csharp/exercises/queen-attack/Example.cs +14 -1
  16. data/tracks/csharp/exercises/queen-attack/QueenAttack.cs +6 -1
  17. data/tracks/csharp/exercises/queen-attack/QueenAttackTest.cs +57 -19
  18. data/tracks/csharp/generators/Exercises/QueenAttack.cs +85 -0
  19. data/tracks/d/README.md +3 -2
  20. data/tracks/d/docs/SNIPPET.txt +7 -0
  21. data/tracks/d/exercises/crypto-square/.dub/dub.json +6 -0
  22. data/tracks/d/exercises/crypto-square/example/crypto_square.d +4 -2
  23. data/tracks/dart/exercises/bob/pubspec.lock +28 -16
  24. data/tracks/dart/exercises/bob/pubspec.yaml +1 -1
  25. data/tracks/dart/exercises/bob/test/bob_test.dart +2 -0
  26. data/tracks/dart/exercises/difference-of-squares/pubspec.lock +28 -16
  27. data/tracks/dart/exercises/difference-of-squares/pubspec.yaml +1 -1
  28. data/tracks/dart/exercises/gigasecond/pubspec.lock +28 -16
  29. data/tracks/dart/exercises/gigasecond/pubspec.yaml +1 -1
  30. data/tracks/dart/exercises/hamming/pubspec.lock +28 -16
  31. data/tracks/dart/exercises/hamming/pubspec.yaml +1 -1
  32. data/tracks/dart/exercises/hello-world/pubspec.lock +28 -16
  33. data/tracks/dart/exercises/hello-world/pubspec.yaml +1 -1
  34. data/tracks/dart/exercises/hello-world/test/hello_world_test.dart +13 -15
  35. data/tracks/dart/exercises/leap/pubspec.lock +28 -16
  36. data/tracks/dart/exercises/leap/pubspec.yaml +1 -1
  37. data/tracks/dart/exercises/rna-transcription/pubspec.lock +28 -16
  38. data/tracks/dart/exercises/rna-transcription/pubspec.yaml +1 -1
  39. data/tracks/elixir/exercises/pig-latin/example.exs +17 -18
  40. data/tracks/elixir/exercises/pig-latin/pig_latin_test.exs +16 -1
  41. data/tracks/fsharp/build.cake +0 -2
  42. data/tracks/go/exercises/error-handling/.meta/description.md +39 -0
  43. data/tracks/go/exercises/error-handling/.meta/hints.md +5 -0
  44. data/tracks/go/exercises/error-handling/.meta/metadata.yml +2 -0
  45. data/tracks/go/exercises/error-handling/README.md +43 -5
  46. data/tracks/go/exercises/error-handling/common.go +4 -3
  47. data/tracks/go/exercises/error-handling/error_handling_test.go +1 -38
  48. data/tracks/go/exercises/secret-handshake/secret_handshake_test.go +3 -1
  49. data/tracks/haxe/docs/LEARNING.md +8 -0
  50. data/tracks/java/.gitignore +2 -1
  51. data/tracks/java/config.json +337 -491
  52. data/tracks/java/config/maintainers.json +26 -26
  53. data/tracks/java/exercises/bob/src/test/java/BobTest.java +7 -1
  54. data/tracks/java/exercises/rna-transcription/src/example/java/RnaTranscription.java +4 -2
  55. data/tracks/java/exercises/rna-transcription/src/main/java/RnaTranscription.java +5 -3
  56. data/tracks/java/exercises/rna-transcription/src/test/java/RnaTranscriptionTest.java +21 -26
  57. data/tracks/javascript/config.json +662 -664
  58. data/tracks/javascript/config/maintainers.json +35 -35
  59. data/tracks/javascript/exercises/simple-cipher/simple-cipher.spec.js +7 -3
  60. data/tracks/plsql/config.json +52 -66
  61. data/tracks/plsql/docs/SNIPPET.txt +6 -0
  62. data/tracks/plsql/exercises/hello-world/example.plsql +20 -0
  63. data/tracks/plsql/exercises/hello-world/hello_world#.plsql +20 -0
  64. data/tracks/plsql/exercises/hello-world/ut_hello_world#.plsql +60 -0
  65. data/tracks/sml/Makefile +5 -0
  66. data/tracks/sml/bin/generate +3 -4
  67. data/tracks/sml/config.json +55 -5
  68. data/tracks/sml/exercises/collatz-conjecture/README.md +63 -0
  69. data/tracks/sml/exercises/collatz-conjecture/collatz-conjecture.sml +4 -0
  70. data/tracks/sml/exercises/collatz-conjecture/example.sml +17 -0
  71. data/tracks/sml/exercises/collatz-conjecture/test.sml +30 -0
  72. data/tracks/sml/exercises/collatz-conjecture/testlib.sml +159 -0
  73. data/tracks/sml/exercises/leap/README.md +63 -0
  74. data/tracks/sml/exercises/leap/example.sml +2 -0
  75. data/tracks/sml/exercises/leap/leap.sml +2 -0
  76. data/tracks/sml/exercises/leap/test.sml +24 -0
  77. data/tracks/sml/exercises/leap/testlib.sml +159 -0
  78. data/tracks/sml/exercises/rna-transcription/README.md +55 -0
  79. data/tracks/sml/exercises/rna-transcription/example.sml +20 -0
  80. data/tracks/sml/exercises/rna-transcription/rna-transcription.sml +2 -0
  81. data/tracks/sml/exercises/rna-transcription/test.sml +36 -0
  82. data/tracks/sml/exercises/rna-transcription/testlib.sml +159 -0
  83. data/tracks/sml/exercises/sum-of-multiples/README.md +48 -0
  84. data/tracks/sml/exercises/sum-of-multiples/example.sml +8 -0
  85. data/tracks/sml/exercises/sum-of-multiples/sum-of-multiples.sml +2 -0
  86. data/tracks/sml/exercises/sum-of-multiples/test.sml +48 -0
  87. data/tracks/sml/exercises/sum-of-multiples/testlib.sml +159 -0
  88. data/tracks/sml/exercises/two-fer/README.md +78 -0
  89. data/tracks/sml/exercises/two-fer/example.sml +1 -0
  90. data/tracks/sml/exercises/two-fer/test.sml +21 -0
  91. data/tracks/sml/exercises/two-fer/testlib.sml +159 -0
  92. data/tracks/sml/exercises/two-fer/two-fer.sml +2 -0
  93. metadata +43 -5
  94. data/tracks/csharp/exercises/Exercises.All.sln +0 -1545
  95. data/tracks/csharp/exercises/Exercises.Default.sln +0 -1503
  96. data/tracks/csharp/exercises/Exercises.Refactoring.sln +0 -61
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2e283263dcb2b1b96c11ff97fa2844e01c19df1
4
- data.tar.gz: a2ebd562fbf6a39ada3dcea45990ab8fedbec803
3
+ metadata.gz: 65af944fc2a478b941d75e8dd8779406a7ebf6d8
4
+ data.tar.gz: 7555503bdd092d6119f5855265a7e64e6bd1eb1f
5
5
  SHA512:
6
- metadata.gz: 18426e7ef2149223d71a08d059a09d6210218ed2ec2d267cc734dd0a1938228b8109d040c9cd66d6110bcd1fbfd92c7d8e6e16227a4194f3823bae9b8fd87195
7
- data.tar.gz: b3165e421be7d3de9cab754e295f539d8a1e7c86941e7cddfd6735847391922dadd6d0aa59d541b650c32479eb117deff4a8083eda304c21227fa45d237965da
6
+ metadata.gz: 9077722f8714411a645faa58c3f81f40c6a066b54b3ba31023f7dde2861f5279dfc4e91013e581e021550e47defb807752037f354ddcf3c20925b16f91adf8f0
7
+ data.tar.gz: 0b7f265cf2eeb5a9c3ed14bf28138681f01cc0e90552f319eefec8de1bcfaf3d8c35e89933b0cf115b21f18bbd8091213be747df6a1ad49e12207f2575189cb4
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.24"
2
+ VERSION = "2.2.1.25"
3
3
  end
@@ -1,80 +1,80 @@
1
- Basic concepts
1
+ Basic Concepts
2
2
  --------------
3
- Abstract classes
4
- Callbacks
5
- Conditionals
6
- Events
7
- Equality
8
- Exception handling
9
- Generics
10
- Inheritance
11
- Interfaces
12
- Loops
13
- Pattern matching
14
- Polymorphism
15
- Recursion
16
- Threading
17
- Type conversion
18
- Variables
3
+ abstract_classes
4
+ callbacks
5
+ conditionals
6
+ events
7
+ equality
8
+ exception_handling
9
+ generics
10
+ inheritance
11
+ interfaces
12
+ loops
13
+ pattern_matching
14
+ polymorphism
15
+ recursion
16
+ threading
17
+ type_conversion
18
+ variables
19
19
 
20
- Data types
20
+ Data Types
21
21
  ----------
22
- Arrays
23
- Booleans
24
- Classes
25
- Dates
26
- Discriminated unions
27
- Enumerations
28
- Floating-point numbers
29
- Graphs
30
- Integers
31
- Lists
32
- Maps
33
- Matrices
34
- Optional values
35
- Queues
36
- Records
37
- Sequences
38
- Sets
39
- Stacks
40
- Strings
41
- Structs
42
- Time
43
- Trees
44
- Tuples
22
+ arrays
23
+ booleans
24
+ classes
25
+ dates
26
+ discriminated_unions
27
+ enumerations
28
+ floating_point_numbers
29
+ graphs
30
+ integers
31
+ lists
32
+ maps
33
+ matrices
34
+ optional_values
35
+ queues
36
+ records
37
+ sequences
38
+ sets
39
+ stacks
40
+ strings
41
+ structs
42
+ time
43
+ trees
44
+ tuples
45
45
 
46
- Problem areas
46
+ Problem Areas
47
47
  -------------
48
- Algorithms
49
- Bitwise operations
50
- Concurrency
51
- Cryptography
52
- Domain-specific languages
53
- Files
54
- Filtering
55
- Games
56
- Globalization
57
- Logic
58
- Mathematics
59
- Memory Management
60
- Networking
61
- Parallellism
62
- Parsing
63
- Pattern recognition
64
- Performance
65
- Randomness
66
- Refactoring
67
- Regular Expressions
68
- Searching
69
- Security
70
- Sorting
71
- Text formatting
72
- Transforming
48
+ algorithms
49
+ bitwise_operations
50
+ concurrency
51
+ cryptography
52
+ domain_specific_languages
53
+ files
54
+ filtering
55
+ games
56
+ globalization
57
+ logic
58
+ mathematics
59
+ memory_management
60
+ networking
61
+ parallellism
62
+ parsing
63
+ pattern_recognition
64
+ performance
65
+ randomness
66
+ refactoring
67
+ regular_expressions
68
+ searching
69
+ security
70
+ sorting
71
+ text_formatting
72
+ transforming
73
73
 
74
74
  Programming Style
75
- ---
76
- Behavior-driven development
77
- Functional programming
78
- Object-oriented programming
79
- Reactive programming
80
- Test-driven development
75
+ -----------------
76
+ behavior_driven_development
77
+ functional_programming
78
+ object_oriented_programming
79
+ reactive_programming
80
+ test_driven_development
@@ -1,159 +1,168 @@
1
1
  {
2
- "language": "Bash",
3
- "checklist_issue": 4,
4
2
  "active": false,
3
+ "checklist_issue": 4,
5
4
  "exercises": [
6
5
  {
7
- "uuid": "4e2533dd-3af5-400b-869d-78140764d533",
8
- "slug": "hello-world",
9
6
  "core": true,
10
7
  "difficulty": 1,
8
+ "slug": "hello-world",
11
9
  "topics": [
12
10
  "stdout"
13
- ]
11
+ ],
12
+ "uuid": "4e2533dd-3af5-400b-869d-78140764d533"
14
13
  },
15
14
  {
16
- "uuid": "176c1a86-28b1-4848-9f87-bd6ae10db6ba",
17
- "slug": "gigasecond",
18
15
  "core": false,
19
- "unlocked_by": null,
20
16
  "difficulty": 1,
17
+ "slug": "gigasecond",
21
18
  "topics": [
22
19
  "dates"
23
- ]
20
+ ],
21
+ "unlocked_by": null,
22
+ "uuid": "176c1a86-28b1-4848-9f87-bd6ae10db6ba"
24
23
  },
25
24
  {
26
- "uuid": "9ac0b041-a7aa-4b0c-952a-d38d35e2cd65",
27
- "slug": "bob",
28
25
  "core": false,
29
- "unlocked_by": null,
30
26
  "difficulty": 1,
27
+ "slug": "bob",
31
28
  "topics": [
32
29
  "control_flow_conditionals"
33
- ]
30
+ ],
31
+ "unlocked_by": null,
32
+ "uuid": "9ac0b041-a7aa-4b0c-952a-d38d35e2cd65"
34
33
  },
35
34
  {
36
- "uuid": "e24451fd-761d-4d20-81d9-e470486ec44a",
37
- "slug": "leap",
38
35
  "core": true,
39
36
  "difficulty": 1,
37
+ "slug": "leap",
40
38
  "topics": [
39
+ "boolean_logic",
41
40
  "control_flow_conditionals",
42
- "input_validation",
43
- "boolean_logic"
44
- ]
41
+ "input_validation"
42
+ ],
43
+ "uuid": "e24451fd-761d-4d20-81d9-e470486ec44a"
45
44
  },
46
45
  {
47
- "uuid": "1a9c8d65-43ee-435e-8c55-9a45c14a71fb",
48
- "slug": "raindrops",
49
46
  "core": false,
50
- "unlocked_by": "leap",
51
47
  "difficulty": 1,
48
+ "slug": "raindrops",
52
49
  "topics": [
53
- "input_validation",
54
- "control_flow_conditionals"
55
- ]
50
+ "control_flow_conditionals",
51
+ "input_validation"
52
+ ],
53
+ "unlocked_by": "leap",
54
+ "uuid": "1a9c8d65-43ee-435e-8c55-9a45c14a71fb"
56
55
  },
57
56
  {
58
- "uuid": "ca5139b4-8b2f-44ea-8d83-0b8ca7674436",
59
- "slug": "difference-of-squares",
60
57
  "core": false,
61
- "unlocked_by": "leap",
62
58
  "difficulty": 1,
59
+ "slug": "difference-of-squares",
63
60
  "topics": [
64
61
  "control_flow_conditionals",
65
62
  "control_flow_loops",
66
- "string_transformation",
67
- "string_comparison"
68
- ]
63
+ "string_comparison",
64
+ "string_transformation"
65
+ ],
66
+ "unlocked_by": "leap",
67
+ "uuid": "ca5139b4-8b2f-44ea-8d83-0b8ca7674436"
69
68
  },
70
69
  {
71
- "uuid": "a7e2018a-c454-4fe0-ad35-229304306648",
72
- "slug": "pangram",
73
70
  "core": true,
74
71
  "difficulty": 2,
72
+ "slug": "pangram",
75
73
  "topics": [
76
74
  "string_transformation"
77
- ]
75
+ ],
76
+ "uuid": "a7e2018a-c454-4fe0-ad35-229304306648"
78
77
  },
79
78
  {
80
- "uuid": "33d9eb48-5958-4e98-afc0-8cff89577c86",
81
- "slug": "anagram",
82
79
  "core": false,
83
- "unlocked_by": "pangram",
84
80
  "difficulty": 2,
81
+ "slug": "anagram",
85
82
  "topics": [
86
83
  "control_flow_loops",
87
84
  "string_transformation"
88
- ]
85
+ ],
86
+ "unlocked_by": "pangram",
87
+ "uuid": "33d9eb48-5958-4e98-afc0-8cff89577c86"
89
88
  },
90
89
  {
91
- "uuid": "68103f44-b442-48e6-b2b5-09001f73e926",
92
- "slug": "hamming",
93
90
  "core": false,
94
- "unlocked_by": "pangram",
95
91
  "difficulty": 2,
92
+ "slug": "hamming",
96
93
  "topics": [
97
94
  "control_flow_loops",
98
95
  "string_comparison"
99
- ]
96
+ ],
97
+ "unlocked_by": "pangram",
98
+ "uuid": "68103f44-b442-48e6-b2b5-09001f73e926"
100
99
  },
101
100
  {
102
- "uuid": "8a62e53e-59c2-42d5-96e5-a0f8f9b5d177",
101
+ "core": false,
102
+ "difficulty": 2,
103
103
  "slug": "rna-transcription",
104
+ "topics": [
105
+ "associative_arrays",
106
+ "control_flow_loops"
107
+ ],
108
+ "unlocked_by": "pangram",
109
+ "uuid": "8a62e53e-59c2-42d5-96e5-a0f8f9b5d177"
110
+ },
111
+ {
104
112
  "core": false,
113
+ "difficulty": 2,
114
+ "slug": "two-fer",
115
+ "topics": [
116
+ "control_flow_conditionals",
117
+ "text_formatting"
118
+ ],
105
119
  "unlocked_by": "pangram",
120
+ "uuid": "0cfac255-6871-4588-a16b-98f7692bfdbe"
121
+ },
122
+ {
123
+ "core": false,
106
124
  "difficulty": 2,
125
+ "slug": "nucleotide-count",
107
126
  "topics": [
108
127
  "control_flow_loops",
109
- "associative_arrays"
110
- ]
128
+ "string_comparison"
129
+ ],
130
+ "unlocked-by": "panagram",
131
+ "uuid": "28f848c8-56ef-4147-a401-f1617c147b4b"
111
132
  },
112
133
  {
113
- "uuid": "0cfac255-6871-4588-a16b-98f7692bfdbe",
114
- "slug": "two-fer",
115
134
  "core": false,
116
- "unlocked_by": "pangram",
117
135
  "difficulty": 2,
136
+ "slug": "word-count",
118
137
  "topics": [
119
- "text_formatting",
120
- "control_flow_conditionals"
121
- ]
138
+ "control_flow_loops",
139
+ "string_comparison"
140
+ ],
141
+ "unlocked_by": "pangram",
142
+ "uuid": "51bd6542-408b-4a73-8343-1c4d50db5315"
122
143
  },
123
144
  {
124
- "uuid": "51bd6542-408b-4a73-8343-1c4d50db5315",
125
- "slug": "word-count",
126
- "core": false,
127
- "unlocked_by": "pangram",
128
- "difficulty": 2,
129
- "topics": [
130
- "control_flow_loops",
131
- "string_comparison"
132
- ]
133
- },
134
- {
135
- "uuid": "9f9a1a49-472f-4a39-aa28-6aa17eeebdc7",
136
- "slug": "phone-number",
137
145
  "core": false,
138
- "unlocked_by": "pangram",
139
146
  "difficulty": 2,
147
+ "slug": "phone-number",
140
148
  "topics": [
141
- "string_comparison",
142
- "control_flow_conditionals"
143
- ]
149
+ "control_flow_conditionals",
150
+ "string_comparison"
151
+ ],
152
+ "unlocked_by": "pangram",
153
+ "uuid": "9f9a1a49-472f-4a39-aa28-6aa17eeebdc7"
144
154
  },
145
155
  {
146
- "uudi": "b2b4ee35-108f-45ce-b294-c10d332e5579",
147
- "slug": "error-handling",
148
156
  "core": true,
149
157
  "difficulty": 1,
158
+ "slug": "error-handling",
150
159
  "topics": [
151
160
  "error_handling",
152
161
  "input_validation"
153
- ]
162
+ ],
163
+ "uuid": "b2b4ee35-108f-45ce-b294-c10d332e5579"
154
164
  }
155
165
  ],
156
- "foregone": [
157
-
158
- ]
166
+ "foregone": [],
167
+ "language": "Bash"
159
168
  }
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "maintainers": [
3
3
  {
4
- "github_username": "adelcambre",
5
- "show_on_website": false,
6
4
  "alumnus": false,
7
- "name": null,
5
+ "avatar_url": null,
8
6
  "bio": null,
7
+ "github_username": "adelcambre",
9
8
  "link_text": null,
10
9
  "link_url": null,
11
- "avatar_url": null
10
+ "name": null,
11
+ "show_on_website": false
12
12
  },
13
13
  {
14
- "github_username": "kotp",
15
- "show_on_website": false,
16
14
  "alumnus": false,
17
- "name": null,
15
+ "avatar_url": null,
18
16
  "bio": null,
17
+ "github_username": "kotp",
19
18
  "link_text": null,
20
19
  "link_url": null,
21
- "avatar_url": null
20
+ "name": null,
21
+ "show_on_website": false
22
22
  }
23
23
  ]
24
- }
24
+ }
@@ -0,0 +1,38 @@
1
+ # Nucleotide Count
2
+
3
+ Given a DNA string, compute how many times each nucleotide occurs in the string.
4
+
5
+ DNA is represented by an alphabet of the following symbols: 'A', 'C',
6
+ 'G', and 'T'.
7
+
8
+ Each symbol represents a nucleotide, which is a fancy name for the
9
+ particular molecules that happen to make up a large part of DNA.
10
+
11
+ Shortest intro to biochemistry EVAR:
12
+
13
+ - twigs are to birds nests as
14
+ - nucleotides are to DNA and RNA as
15
+ - amino acids are to proteins as
16
+ - sugar is to starch as
17
+ - oh crap lipids
18
+
19
+ I'm not going to talk about lipids because they're crazy complex.
20
+
21
+ So back to nucleotides.
22
+
23
+ DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
24
+ (`G`), and thymine (`T`).
25
+
26
+ RNA contains a slightly different set of nucleotides, but we don't care
27
+ about that for now.
28
+
29
+ Run the tests with:
30
+
31
+ bats whatever_test.sh
32
+
33
+ ## Source
34
+
35
+ The Calculating DNA Nucleotides_problem at Rosalind [http://rosalind.info/problems/dna/](http://rosalind.info/problems/dna/)
36
+
37
+ ## Submitting Incomplete Solutions
38
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.