trackler 2.0.8.34 → 2.0.8.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/exercises/phone-number/src/example.c +6 -6
- data/tracks/c/exercises/phone-number/test/test_phone_number.c +50 -5
- data/tracks/csharp/exercises/beer-song/BeerSong.cs +2 -2
- data/tracks/csharp/exercises/beer-song/BeerSongTest.cs +390 -0
- data/tracks/csharp/exercises/beer-song/Example.cs +3 -8
- data/tracks/csharp/exercises/wordy/Example.cs +3 -3
- data/tracks/csharp/exercises/wordy/Wordy.cs +2 -2
- data/tracks/csharp/exercises/wordy/WordyTest.cs +35 -35
- data/tracks/csharp/generators/Data/CanonicalDataValue.cs +17 -3
- data/tracks/csharp/generators/Exercises/BeerSongExercise.cs +33 -0
- data/tracks/csharp/generators/Exercises/EqualityExercise.cs +6 -1
- data/tracks/csharp/generators/Exercises/FoodChainExercise.cs +1 -1
- data/tracks/csharp/generators/Exercises/HelloWorldExercise.cs +9 -0
- data/tracks/csharp/generators/Exercises/NthPrimeExercise.cs +7 -8
- data/tracks/csharp/generators/Exercises/WordyExercise.cs +20 -0
- data/tracks/csharp/generators/Methods/TestMethodOptions.cs +1 -0
- data/tracks/elixir/README.md +1 -1
- data/tracks/go/config.json +9 -0
- data/tracks/go/exercises/accumulate/accumulate.go +5 -0
- data/tracks/go/exercises/change/cases_test.go +83 -0
- data/tracks/go/exercises/change/change_test.go +48 -0
- data/tracks/go/exercises/change/example.go +153 -0
- data/tracks/go/exercises/change/example_gen.go +96 -0
- data/tracks/java/exercises/beer-song/src/example/java/BeerSong.java +4 -7
- data/tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java +15 -7
- data/tracks/julia/img/icon.png +0 -0
- data/tracks/julia/img/icon.svg +49 -11
- data/tracks/objective-c/exercises/bracket-push/BracketPushExample.h +0 -1
- data/tracks/objective-c/exercises/bracket-push/BracketPushExample.m +41 -379
- data/tracks/objective-c/exercises/bracket-push/BracketPushTest.m +12 -32
- data/tracks/objective-c/exercises/sublist/SublistExample.h +8 -1
- data/tracks/objective-c/exercises/sublist/SublistExample.m +27 -42
- data/tracks/objective-c/exercises/sublist/SublistTest.m +17 -20
- data/tracks/python/exercises/say/say_test.py +16 -11
- data/tracks/scala/exercises/pangram/src/test/scala/PangramTest.scala +6 -5
- data/tracks/swift/exercises/bob/Sources/BobExample.swift +2 -2
- data/tracks/swift/exercises/bob/Tests/BobTests/BobTests.swift +8 -8
- metadata +11 -3
- data/tracks/csharp/exercises/beer-song/BeerTest.cs +0 -22
@@ -1,7 +1,14 @@
|
|
1
1
|
#import <Foundation/Foundation.h>
|
2
2
|
|
3
|
+
typedef NS_ENUM(NSInteger, SublistKind) {
|
4
|
+
SublistKindSublist,
|
5
|
+
SublistKindSuperlist,
|
6
|
+
SublistKindEqual,
|
7
|
+
SublistKindUnequal
|
8
|
+
};
|
9
|
+
|
3
10
|
@interface SublistExample : NSObject
|
4
11
|
|
5
|
-
+(
|
12
|
+
+ (SublistKind)classifierForFirstList:(NSArray *)firstArray andSecondList:(NSArray *)secondArray;
|
6
13
|
|
7
14
|
@end
|
@@ -2,66 +2,51 @@
|
|
2
2
|
|
3
3
|
@implementation SublistExample
|
4
4
|
|
5
|
-
+(
|
5
|
+
+ (SublistKind)classifierForFirstList:(NSArray *)firstArray andSecondList:(NSArray *)secondArray { //!OCLint
|
6
6
|
|
7
|
-
if([firstArray isEqualToArray:secondArray]){
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
if(firstArray.count == 0){
|
14
|
-
|
15
|
-
return @"sublist";
|
7
|
+
if ([firstArray isEqualToArray:secondArray]){
|
8
|
+
return SublistKindEqual;
|
9
|
+
} else if (firstArray.count == 0 || secondArray.count == 0) {
|
10
|
+
if (firstArray.count == 0) {
|
11
|
+
return SublistKindSublist;
|
16
12
|
}
|
17
13
|
|
18
|
-
return
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
int i = 0;
|
14
|
+
return SublistKindSuperlist;
|
15
|
+
} else if (firstArray.count != secondArray.count) {
|
16
|
+
int i = 0; //!OCLint
|
23
17
|
int count = 0;
|
24
18
|
NSMutableArray *smallerArray = [NSMutableArray array];
|
25
19
|
|
26
|
-
|
27
|
-
iterations = MAX(
|
20
|
+
unsigned long iterations = 0;
|
21
|
+
iterations = MAX(firstArray.count, secondArray.count) - ((MIN(firstArray.count, secondArray.count) - 1));
|
28
22
|
|
29
|
-
while(iterations > 0){
|
23
|
+
while (iterations > 0) {
|
24
|
+
int j = i; //!OCLint
|
30
25
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
[smallerArray addObject:[firstArray objectAtIndex:j]];
|
37
|
-
}else{
|
38
|
-
|
39
|
-
[smallerArray addObject:[secondArray objectAtIndex:j]];
|
26
|
+
while (count <= (MIN(firstArray.count, secondArray.count) - 1)) {
|
27
|
+
if (firstArray.count > secondArray.count) {
|
28
|
+
[smallerArray addObject:firstArray[j]];
|
29
|
+
} else {
|
30
|
+
[smallerArray addObject:secondArray[j]];
|
40
31
|
}
|
32
|
+
|
41
33
|
j++;
|
42
34
|
count++;
|
43
35
|
}
|
44
36
|
|
45
|
-
if([smallerArray isEqualToArray:firstArray]){
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}else if([smallerArray isEqualToArray:secondArray]){
|
50
|
-
|
51
|
-
return @"superlist";
|
52
|
-
}else{
|
53
|
-
|
54
|
-
[smallerArray removeAllObjects];
|
55
|
-
i++;
|
56
|
-
count=0;
|
37
|
+
if ([smallerArray isEqualToArray:firstArray]) {
|
38
|
+
return SublistKindSublist;
|
39
|
+
} else if ([smallerArray isEqualToArray:secondArray]) {
|
40
|
+
return SublistKindSuperlist;
|
57
41
|
}
|
58
42
|
|
59
|
-
|
43
|
+
[smallerArray removeAllObjects];
|
44
|
+
i++;
|
45
|
+
count = 0;
|
60
46
|
iterations--;
|
61
47
|
}
|
62
|
-
|
63
48
|
}
|
64
49
|
|
65
|
-
|
50
|
+
return SublistKindUnequal;
|
66
51
|
}
|
67
52
|
@end
|
@@ -10,107 +10,104 @@
|
|
10
10
|
|
11
11
|
@end
|
12
12
|
|
13
|
-
|
14
13
|
@implementation SublistTest
|
15
14
|
|
16
15
|
- (void)testEmptyLists {
|
17
|
-
|
16
|
+
XCTAssertEqual(SublistKindEqual, [SublistExample classifierForFirstList:@[] andSecondList:@[]]);
|
18
17
|
}
|
19
18
|
|
20
19
|
- (void)testEmptyListWithinNonEmptyList {
|
21
20
|
NSArray *secondList = @[@1, @2, @3];
|
22
|
-
|
23
|
-
|
21
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:@[] andSecondList:secondList]);
|
24
22
|
}
|
25
23
|
|
26
24
|
- (void)testNonEmptyListContainsEmptyList {
|
27
25
|
NSArray *firstList = @[@1, @2, @3];
|
28
|
-
|
26
|
+
XCTAssertEqual(SublistKindSuperlist, [SublistExample classifierForFirstList:firstList andSecondList:@[]]);
|
29
27
|
}
|
30
28
|
|
31
29
|
- (void)testListEqualsItself {
|
32
30
|
NSArray *firstList = @[@1, @2, @3];
|
33
31
|
NSArray *secondList = @[@1, @2, @3];
|
34
|
-
|
32
|
+
XCTAssertEqual(SublistKindEqual, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
35
33
|
}
|
36
34
|
|
37
35
|
- (void)testDifferentLists {
|
38
36
|
NSArray *firstList = @[@1, @2, @3];
|
39
37
|
NSArray *secondList = @[@2, @3, @4];
|
40
|
-
|
38
|
+
XCTAssertEqual(SublistKindUnequal, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
41
39
|
}
|
42
40
|
|
43
41
|
- (void)testFalseStart {
|
44
42
|
NSArray *firstList = @[@1, @2, @5];
|
45
43
|
NSArray *secondList = @[@0, @1, @2, @3, @1, @2, @5, @6];
|
46
|
-
|
44
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
47
45
|
}
|
48
46
|
|
49
47
|
- (void)testConsecutive {
|
50
48
|
NSArray *firstList = @[@1, @1, @2];
|
51
49
|
NSArray *secondList = @[@0, @1, @1, @1, @2, @1, @2];
|
52
|
-
|
50
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
53
51
|
}
|
54
52
|
|
55
53
|
- (void)testSublistAtStart {
|
56
54
|
NSArray *firstList = @[@0, @1, @2];
|
57
55
|
NSArray *secondList = @[@0, @1, @2, @3, @4, @5];
|
58
|
-
|
56
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
59
57
|
}
|
60
58
|
|
61
59
|
- (void)testSublistInMiddle{
|
62
|
-
|
63
60
|
NSArray *firstList = @[@2, @3, @4];
|
64
61
|
NSArray *secondList = @[@0, @1, @2, @3, @4, @5];
|
65
|
-
|
62
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
66
63
|
}
|
67
64
|
|
68
65
|
- (void)testSublistAtEnd {
|
69
66
|
NSArray *firstList = @[@3, @4, @5];
|
70
67
|
NSArray *secondList = @[@0, @1, @2, @3, @4, @5];
|
71
|
-
|
68
|
+
XCTAssertEqual(SublistKindSublist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
72
69
|
}
|
73
70
|
|
74
71
|
- (void)testAtStartOfSuperlist {
|
75
72
|
NSArray *firstList = @[@0, @1, @2, @3, @4, @5];
|
76
73
|
NSArray *secondList = @[@0, @1, @2];
|
77
|
-
|
74
|
+
XCTAssertEqual(SublistKindSuperlist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
78
75
|
}
|
79
76
|
|
80
77
|
- (void)testAtMiddleOfSuperlist {
|
81
78
|
NSArray *firstList = @[@0, @1, @2, @3, @4, @5];
|
82
79
|
NSArray *secondList = @[@2, @3];
|
83
|
-
|
80
|
+
XCTAssertEqual(SublistKindSuperlist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
84
81
|
}
|
85
82
|
|
86
83
|
- (void)testAtEndOfSuperlist {
|
87
84
|
NSArray *firstList = @[@0, @1, @2, @3, @4, @5];
|
88
85
|
NSArray *secondList = @[@3, @4, @5];
|
89
|
-
|
86
|
+
XCTAssertEqual(SublistKindSuperlist, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
90
87
|
}
|
91
88
|
|
92
89
|
- (void)testFirstListMissingElementFromSecondList {
|
93
90
|
NSArray *firstList = @[@1, @3];
|
94
91
|
NSArray *secondList = @[@1, @2, @3];
|
95
|
-
|
92
|
+
XCTAssertEqual(SublistKindUnequal, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
96
93
|
}
|
97
94
|
|
98
95
|
- (void)testSecondListMissingOneElementFromFirstList {
|
99
96
|
NSArray *firstList = @[@1, @2, @3];
|
100
97
|
NSArray *secondList = @[@1, @3];
|
101
|
-
|
98
|
+
XCTAssertEqual(SublistKindUnequal, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
102
99
|
}
|
103
100
|
|
104
101
|
- (void)testOrderMattersToAList {
|
105
102
|
NSArray *firstList = @[@1, @2, @3];
|
106
103
|
NSArray *secondList = @[@3, @2, @1];
|
107
|
-
|
104
|
+
XCTAssertEqual(SublistKindUnequal, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
108
105
|
}
|
109
106
|
|
110
107
|
- (void)testSameDigitsButDifferentNumbers {
|
111
108
|
NSArray *firstList = @[@1, @0, @1];
|
112
109
|
NSArray *secondList = @[@10, @1];
|
113
|
-
|
110
|
+
XCTAssertEqual(SublistKindUnequal, [SublistExample classifierForFirstList:firstList andSecondList:secondList]);
|
114
111
|
}
|
115
112
|
|
116
113
|
@end
|
@@ -3,7 +3,12 @@ import unittest
|
|
3
3
|
from say import say
|
4
4
|
|
5
5
|
|
6
|
+
# test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
|
7
|
+
|
6
8
|
class SayTest(unittest.TestCase):
|
9
|
+
def test_zero(self):
|
10
|
+
self.assertEqual(say(0), "zero")
|
11
|
+
|
7
12
|
def test_one(self):
|
8
13
|
self.assertEqual(say(1), "one")
|
9
14
|
|
@@ -19,6 +24,7 @@ class SayTest(unittest.TestCase):
|
|
19
24
|
def test_one_hundred(self):
|
20
25
|
self.assertEqual(say(100), "one hundred")
|
21
26
|
|
27
|
+
# additional track specific test
|
22
28
|
def test_one_hundred_twenty(self):
|
23
29
|
self.assertEqual(say(120), "one hundred and twenty")
|
24
30
|
|
@@ -31,12 +37,14 @@ class SayTest(unittest.TestCase):
|
|
31
37
|
def test_one_thousand_two_hundred_thirty_four(self):
|
32
38
|
self.assertEqual(say(1234), "one thousand two hundred and thirty-four")
|
33
39
|
|
40
|
+
# additional track specific test
|
34
41
|
def test_eight_hundred_and_ten_thousand(self):
|
35
42
|
self.assertEqual(say(810000), "eight hundred and ten thousand")
|
36
43
|
|
37
44
|
def test_one_million(self):
|
38
45
|
self.assertEqual(say(1e6), "one million")
|
39
46
|
|
47
|
+
# additional track specific test
|
40
48
|
def test_one_million_two(self):
|
41
49
|
self.assertEqual(say(1000002), "one million and two")
|
42
50
|
|
@@ -48,17 +56,6 @@ class SayTest(unittest.TestCase):
|
|
48
56
|
def test_one_billion(self):
|
49
57
|
self.assertEqual(say(1e9), "one billion")
|
50
58
|
|
51
|
-
def test_number_to_large(self):
|
52
|
-
with self.assertRaises(AttributeError):
|
53
|
-
say(1e12)
|
54
|
-
|
55
|
-
def test_number_negative(self):
|
56
|
-
with self.assertRaises(AttributeError):
|
57
|
-
say(-42)
|
58
|
-
|
59
|
-
def test_zero(self):
|
60
|
-
self.assertEqual(say(0), "zero")
|
61
|
-
|
62
59
|
def test_987654321123(self):
|
63
60
|
self.assertEqual(
|
64
61
|
say(987654321123), ("nine hundred and eighty-seven billion "
|
@@ -66,6 +63,14 @@ class SayTest(unittest.TestCase):
|
|
66
63
|
"three hundred and twenty-one thousand "
|
67
64
|
"one hundred and twenty-three"))
|
68
65
|
|
66
|
+
def test_number_to_large(self):
|
67
|
+
with self.assertRaises(AttributeError):
|
68
|
+
say(1e12)
|
69
|
+
|
70
|
+
def test_number_negative(self):
|
71
|
+
with self.assertRaises(AttributeError):
|
72
|
+
say(-1)
|
73
|
+
|
69
74
|
|
70
75
|
if __name__ == '__main__':
|
71
76
|
unittest.main()
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import org.scalatest.{
|
1
|
+
import org.scalatest.{Matchers, FunSuite}
|
2
|
+
|
3
|
+
/** @version 1.0.0 */
|
4
|
+
class PangramTest extends FunSuite with Matchers {
|
2
5
|
|
3
|
-
class PangramsTest extends FunSuite with Matchers {
|
4
6
|
test("sentence empty") {
|
5
7
|
Pangrams.isPangram("") should be (false)
|
6
8
|
}
|
@@ -40,9 +42,8 @@ class PangramsTest extends FunSuite with Matchers {
|
|
40
42
|
Pangrams.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"") should be (true)
|
41
43
|
}
|
42
44
|
|
43
|
-
test("
|
45
|
+
test("upper and lower case versions of the same character should not be counted separately") {
|
44
46
|
pending
|
45
|
-
Pangrams.isPangram("
|
47
|
+
Pangrams.isPangram("the quick brown fox jumped over the lazy FOX") should be (false)
|
46
48
|
}
|
47
|
-
|
48
49
|
}
|
@@ -59,9 +59,9 @@ private extension String {
|
|
59
59
|
struct Bob {
|
60
60
|
static func hey(_ input: String) -> String {
|
61
61
|
if input.trimWhiteSpace().isEmpty {
|
62
|
-
return "Fine
|
62
|
+
return "Fine. Be that way!"
|
63
63
|
} else if input.isShouting {
|
64
|
-
return "
|
64
|
+
return "Whoa, chill out!"
|
65
65
|
} else if input.isQuestion {
|
66
66
|
return "Sure."
|
67
67
|
} else {
|
@@ -12,7 +12,7 @@ class BobTests: XCTestCase {
|
|
12
12
|
|
13
13
|
func testShouting() {
|
14
14
|
let input = "WATCH OUT!"
|
15
|
-
let expected = "
|
15
|
+
let expected = "Whoa, chill out!"
|
16
16
|
let result = Bob.hey(input)
|
17
17
|
XCTAssertEqual(expected, result)
|
18
18
|
}
|
@@ -40,14 +40,14 @@ class BobTests: XCTestCase {
|
|
40
40
|
|
41
41
|
func testForcefulQuestions() {
|
42
42
|
let input = "WHAT THE HELL WERE YOU THINKING?"
|
43
|
-
let expected = "
|
43
|
+
let expected = "Whoa, chill out!"
|
44
44
|
let result = Bob.hey(input)
|
45
45
|
XCTAssertEqual(expected, result)
|
46
46
|
}
|
47
47
|
|
48
48
|
func testShoutingNumbers() {
|
49
49
|
let input = "1, 2, 3 GO!"
|
50
|
-
let expected = "
|
50
|
+
let expected = "Whoa, chill out!"
|
51
51
|
let result = Bob.hey(input)
|
52
52
|
XCTAssertEqual(expected, result)
|
53
53
|
}
|
@@ -68,14 +68,14 @@ class BobTests: XCTestCase {
|
|
68
68
|
|
69
69
|
func testShoutingWithSpecialCharacters() {
|
70
70
|
let input = "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"
|
71
|
-
let expected = "
|
71
|
+
let expected = "Whoa, chill out!"
|
72
72
|
let result = Bob.hey(input)
|
73
73
|
XCTAssertEqual(expected, result)
|
74
74
|
}
|
75
75
|
|
76
76
|
func testShoutingWithUmlautsCharacters() {
|
77
77
|
let input = "ÄMLÄTS!"
|
78
|
-
let expected = "
|
78
|
+
let expected = "Whoa, chill out!"
|
79
79
|
let result = Bob.hey(input)
|
80
80
|
XCTAssertEqual(expected, result)
|
81
81
|
}
|
@@ -89,7 +89,7 @@ class BobTests: XCTestCase {
|
|
89
89
|
|
90
90
|
func testShoutingWithNoExclamationmark() {
|
91
91
|
let input = "I HATE YOU"
|
92
|
-
let expected = "
|
92
|
+
let expected = "Whoa, chill out!"
|
93
93
|
let result = Bob.hey(input)
|
94
94
|
XCTAssertEqual(expected, result)
|
95
95
|
}
|
@@ -110,14 +110,14 @@ class BobTests: XCTestCase {
|
|
110
110
|
|
111
111
|
func testSilence() {
|
112
112
|
let input = ""
|
113
|
-
let expected = "Fine
|
113
|
+
let expected = "Fine. Be that way!"
|
114
114
|
let result = Bob.hey(input)
|
115
115
|
XCTAssertEqual(expected, result)
|
116
116
|
}
|
117
117
|
|
118
118
|
func testProlongedSilence() {
|
119
119
|
let input = " "
|
120
|
-
let expected = "Fine
|
120
|
+
let expected = "Fine. Be that way!"
|
121
121
|
let result = Bob.hey(input)
|
122
122
|
XCTAssertEqual(expected, result)
|
123
123
|
}
|
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.0.8.
|
4
|
+
version: 2.0.8.35
|
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-03-
|
11
|
+
date: 2017-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -1423,7 +1423,7 @@ files:
|
|
1423
1423
|
- tracks/csharp/exercises/bank-account/HINTS.md
|
1424
1424
|
- tracks/csharp/exercises/beer-song/BeerSong.cs
|
1425
1425
|
- tracks/csharp/exercises/beer-song/BeerSong.csproj
|
1426
|
-
- tracks/csharp/exercises/beer-song/
|
1426
|
+
- tracks/csharp/exercises/beer-song/BeerSongTest.cs
|
1427
1427
|
- tracks/csharp/exercises/beer-song/Example.cs
|
1428
1428
|
- tracks/csharp/exercises/beer-song/HINTS.md
|
1429
1429
|
- tracks/csharp/exercises/binary-search-tree/BinarySearchTree.cs
|
@@ -1841,10 +1841,12 @@ files:
|
|
1841
1841
|
- tracks/csharp/generators/Data/ExerciseCollection.cs
|
1842
1842
|
- tracks/csharp/generators/Exercises/AcronymExercise.cs
|
1843
1843
|
- tracks/csharp/generators/Exercises/AtbashCipherExercise.cs
|
1844
|
+
- tracks/csharp/generators/Exercises/BeerSongExercise.cs
|
1844
1845
|
- tracks/csharp/generators/Exercises/BooleanExercise.cs
|
1845
1846
|
- tracks/csharp/generators/Exercises/EqualityExercise.cs
|
1846
1847
|
- tracks/csharp/generators/Exercises/Exercise.cs
|
1847
1848
|
- tracks/csharp/generators/Exercises/FoodChainExercise.cs
|
1849
|
+
- tracks/csharp/generators/Exercises/HelloWorldExercise.cs
|
1848
1850
|
- tracks/csharp/generators/Exercises/IsogramExercise.cs
|
1849
1851
|
- tracks/csharp/generators/Exercises/LeapExercise.cs
|
1850
1852
|
- tracks/csharp/generators/Exercises/LuhnExercise.cs
|
@@ -1853,6 +1855,7 @@ files:
|
|
1853
1855
|
- tracks/csharp/generators/Exercises/PigLatinExercise.cs
|
1854
1856
|
- tracks/csharp/generators/Exercises/RaindropsExercise.cs
|
1855
1857
|
- tracks/csharp/generators/Exercises/RomanNumeralsExercise.cs
|
1858
|
+
- tracks/csharp/generators/Exercises/WordyExercise.cs
|
1856
1859
|
- tracks/csharp/generators/Generators.csproj
|
1857
1860
|
- tracks/csharp/generators/Generators.csproj.user
|
1858
1861
|
- tracks/csharp/generators/Generators.sln
|
@@ -3303,6 +3306,7 @@ files:
|
|
3303
3306
|
- tracks/go/docs/RESOURCES.md
|
3304
3307
|
- tracks/go/docs/TESTS.md
|
3305
3308
|
- tracks/go/exercises/TRACK_HINTS.md
|
3309
|
+
- tracks/go/exercises/accumulate/accumulate.go
|
3306
3310
|
- tracks/go/exercises/accumulate/accumulate_test.go
|
3307
3311
|
- tracks/go/exercises/accumulate/example.go
|
3308
3312
|
- tracks/go/exercises/acronym/acronym.go
|
@@ -3333,6 +3337,10 @@ files:
|
|
3333
3337
|
- tracks/go/exercises/bob/example_gen.go
|
3334
3338
|
- tracks/go/exercises/bracket-push/bracket_push_test.go
|
3335
3339
|
- tracks/go/exercises/bracket-push/example.go
|
3340
|
+
- tracks/go/exercises/change/cases_test.go
|
3341
|
+
- tracks/go/exercises/change/change_test.go
|
3342
|
+
- tracks/go/exercises/change/example.go
|
3343
|
+
- tracks/go/exercises/change/example_gen.go
|
3336
3344
|
- tracks/go/exercises/circular-buffer/circular_buffer_test.go
|
3337
3345
|
- tracks/go/exercises/circular-buffer/example.go
|
3338
3346
|
- tracks/go/exercises/clock/cases_test.go
|