trackler 2.1.0.34 → 2.1.0.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/coq/config.json +3 -5
  4. data/tracks/csharp/.gitignore +5 -1
  5. data/tracks/csharp/exercises/acronym/AcronymTest.cs +3 -7
  6. data/tracks/csharp/exercises/atbash-cipher/AtbashCipherTest.cs +2 -0
  7. data/tracks/csharp/exercises/beer-song/BeerSongTest.cs +9 -7
  8. data/tracks/csharp/exercises/bob/Bob.cs +1 -1
  9. data/tracks/csharp/exercises/bob/BobTest.cs +79 -37
  10. data/tracks/csharp/exercises/bob/Example.cs +1 -1
  11. data/tracks/csharp/exercises/food-chain/FoodChainTest.cs +2 -0
  12. data/tracks/csharp/exercises/hello-world/HelloWorldTest.cs +5 -3
  13. data/tracks/csharp/exercises/isogram/IsogramTest.cs +8 -0
  14. data/tracks/csharp/exercises/leap/LeapTest.cs +2 -0
  15. data/tracks/csharp/exercises/luhn/LuhnTest.cs +2 -0
  16. data/tracks/csharp/exercises/nth-prime/NthPrimeTest.cs +2 -0
  17. data/tracks/csharp/exercises/perfect-numbers/PerfectNumbersTest.cs +2 -0
  18. data/tracks/csharp/exercises/pig-latin/PigLatinTest.cs +2 -0
  19. data/tracks/csharp/exercises/raindrops/RaindropsTest.cs +2 -0
  20. data/tracks/csharp/exercises/roman-numerals/RomanNumeralsTest.cs +2 -0
  21. data/tracks/csharp/exercises/rotational-cipher/RotationalCipherTest.cs +2 -0
  22. data/tracks/csharp/exercises/wordy/WordyTest.cs +2 -0
  23. data/tracks/csharp/generators/Classes/TestClass.cs +1 -0
  24. data/tracks/csharp/generators/Classes/TestClassRenderer.cs +4 -1
  25. data/tracks/csharp/generators/Exercises/Bob.cs +20 -0
  26. data/tracks/csharp/generators/Exercises/Exercise.cs +2 -1
  27. data/tracks/csharp/generators/Methods/TestMethodGenerator.cs +4 -0
  28. data/tracks/delphi/exercises/hello-world/uTestHelloWorld.pas +12 -1
  29. data/tracks/elixir/config.json +58 -7
  30. data/tracks/go/config.json +5 -6
  31. data/tracks/go/exercises/anagram/anagram_test.go +2 -2
  32. data/tracks/go/exercises/anagram/example.go +2 -3
  33. data/tracks/java/.travis.yml +9 -9
  34. data/tracks/java/bin/fetch-configlet +1 -1
  35. data/tracks/java/bin/journey-test.sh +23 -17
  36. data/tracks/java/bin/unit-tests.sh +2 -2
  37. data/tracks/julia/exercises/rotational-cipher/runtests.jl +13 -13
  38. data/tracks/julia/runtests.jl +13 -0
  39. data/tracks/lisp/config.json +174 -120
  40. data/tracks/lua/README.md +9 -8
  41. data/tracks/ocaml/config.json +0 -5
  42. data/tracks/php/config.json +424 -402
  43. data/tracks/ruby/README.md +6 -0
  44. data/tracks/scala/config.json +0 -7
  45. data/tracks/typescript/config.json +27 -13
  46. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d22c04389af0b5417f36244e838a0596d2f744f9
4
- data.tar.gz: 7e869044483231d71d7915aa6a7d638fc26968c5
3
+ metadata.gz: 6b811907abfe87f2a895d0d1e6b7ce113922fbc1
4
+ data.tar.gz: 17ffdbc50f11cf05aecbe6a800bd7d6414e29fa5
5
5
  SHA512:
6
- metadata.gz: 8a2caec63e49e0cfc500ba3326640ab7b0fcc227c4682e30983deadcc0324a66e906303c0cab405c37b5869dfed333d492611629eca8fba6b1b115acd37ce49e
7
- data.tar.gz: bf80d001b43642fe319539dfb584a93c91c88bde4e507a03aa43901529895e6e2984114734f18404b97f95898c29380962be953a7d19a9d60385ea22c817d789
6
+ metadata.gz: 312a430e4335107c35b178d708e15ae72cd7eed754e8eb0e0d4465e2e1cf054eab4133ef6283478452f706b3027416d230c75eb10ed7ea3a71c9cd95ae6cfd5b
7
+ data.tar.gz: 27c7d2aca14113fdcabfd20ccfe0c1b97980ee9a26e78c9b110dc19a24e5a60d693bc4ea1b95d7818e26f643554452e0960fabe6e986a3628750cfa18ba4b31f
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.1.0.34"
2
+ VERSION = "2.1.0.36"
3
3
  end
@@ -9,28 +9,26 @@
9
9
  "slug": "hello-world",
10
10
  "difficulty": 1,
11
11
  "topics": [
12
+
12
13
  ]
13
14
  },
14
15
  {
15
16
  "slug": "rna-transcription",
16
17
  "difficulty": 1,
17
18
  "topics": [
19
+
18
20
  ]
19
21
  },
20
22
  {
21
23
  "slug": "tautology",
22
24
  "difficulty": 1,
23
25
  "topics": [
26
+
24
27
  ]
25
28
  }
26
29
  ],
27
30
  "deprecated": [
28
31
 
29
- ],
30
- "ignored": [
31
- "bin",
32
- "img",
33
- "docs"
34
32
  ],
35
33
  "foregone": [
36
34
 
@@ -12,4 +12,8 @@ TestResult.xml
12
12
  obj/
13
13
  bin/
14
14
  *.userprefs
15
- .idea/
15
+ .idea/
16
+ .dotnet/
17
+ .fake/
18
+ .paket/
19
+ paket-files/
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.1.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class AcronymTest
@@ -14,12 +16,6 @@ public class AcronymTest
14
16
  Assert.Equal("ROR", Acronym.Abbreviate("Ruby on Rails"));
15
17
  }
16
18
 
17
- [Fact(Skip = "Remove to run test")]
18
- public void PascalCase()
19
- {
20
- Assert.Equal("HTML", Acronym.Abbreviate("HyperText Markup Language"));
21
- }
22
-
23
19
  [Fact(Skip = "Remove to run test")]
24
20
  public void Punctuation()
25
21
  {
@@ -43,4 +39,4 @@ public class AcronymTest
43
39
  {
44
40
  Assert.Equal("CMOS", Acronym.Abbreviate("Complementary metal-oxide semiconductor"));
45
41
  }
46
- }
42
+ }
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class AtbashCipherTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class BeerSongTest
@@ -12,7 +14,7 @@ public class BeerSongTest
12
14
  Assert.Equal(expected, BeerSong.Verse(99));
13
15
  }
14
16
 
15
- [Fact]
17
+ [Fact(Skip = "Remove to run test")]
16
18
  public void Last_generic_verse()
17
19
  {
18
20
  var expected =
@@ -22,7 +24,7 @@ public class BeerSongTest
22
24
  Assert.Equal(expected, BeerSong.Verse(3));
23
25
  }
24
26
 
25
- [Fact]
27
+ [Fact(Skip = "Remove to run test")]
26
28
  public void Verse_2()
27
29
  {
28
30
  var expected =
@@ -32,7 +34,7 @@ public class BeerSongTest
32
34
  Assert.Equal(expected, BeerSong.Verse(2));
33
35
  }
34
36
 
35
- [Fact]
37
+ [Fact(Skip = "Remove to run test")]
36
38
  public void Verse_1()
37
39
  {
38
40
  var expected =
@@ -42,7 +44,7 @@ public class BeerSongTest
42
44
  Assert.Equal(expected, BeerSong.Verse(1));
43
45
  }
44
46
 
45
- [Fact]
47
+ [Fact(Skip = "Remove to run test")]
46
48
  public void Verse_0()
47
49
  {
48
50
  var expected =
@@ -52,7 +54,7 @@ public class BeerSongTest
52
54
  Assert.Equal(expected, BeerSong.Verse(0));
53
55
  }
54
56
 
55
- [Fact]
57
+ [Fact(Skip = "Remove to run test")]
56
58
  public void First_two_verses()
57
59
  {
58
60
  var expected =
@@ -65,7 +67,7 @@ public class BeerSongTest
65
67
  Assert.Equal(expected, BeerSong.Verses(99, 98));
66
68
  }
67
69
 
68
- [Fact]
70
+ [Fact(Skip = "Remove to run test")]
69
71
  public void Last_three_verses()
70
72
  {
71
73
  var expected =
@@ -81,7 +83,7 @@ public class BeerSongTest
81
83
  Assert.Equal(expected, BeerSong.Verses(2, 0));
82
84
  }
83
85
 
84
- [Fact]
86
+ [Fact(Skip = "Remove to run test")]
85
87
  public void All_verses()
86
88
  {
87
89
  var expected =
@@ -2,7 +2,7 @@ using System;
2
2
 
3
3
  public static class Bob
4
4
  {
5
- public static string Hey(string statement)
5
+ public static string Response(string statement)
6
6
  {
7
7
  throw new NotImplementedException("You need to implement this function.");
8
8
  }
@@ -3,110 +3,152 @@ using Xunit;
3
3
  public class BobTest
4
4
  {
5
5
  [Fact]
6
- public void Stating_something ()
6
+ public void Stating_something()
7
7
  {
8
- Assert.Equal("Whatever.", Bob.Hey("Tom-ay-to, tom-aaaah-to."));
8
+ Assert.Equal("Whatever.", Bob.Response("Tom-ay-to, tom-aaaah-to."));
9
9
  }
10
10
 
11
11
  [Fact(Skip = "Remove to run test")]
12
- public void Shouting ()
12
+ public void Shouting()
13
13
  {
14
- Assert.Equal("Whoa, chill out!", Bob.Hey("WATCH OUT!"));
14
+ Assert.Equal("Whoa, chill out!", Bob.Response("WATCH OUT!"));
15
15
  }
16
16
 
17
17
  [Fact(Skip = "Remove to run test")]
18
- public void Asking_a_question ()
18
+ public void Shouting_gibberish()
19
19
  {
20
- Assert.Equal("Sure.", Bob.Hey("Does this cryogenic chamber make me look fat?"));
20
+ Assert.Equal("Whoa, chill out!", Bob.Response("FCECDFCAAB"));
21
21
  }
22
22
 
23
23
  [Fact(Skip = "Remove to run test")]
24
- public void Asking_a_question_with_a_trailing_space()
24
+ public void Asking_a_question()
25
25
  {
26
- Assert.Equal("Sure.", Bob.Hey("Do I like my spacebar too much? "));
26
+ Assert.Equal("Sure.", Bob.Response("Does this cryogenic chamber make me look fat?"));
27
27
  }
28
28
 
29
29
  [Fact(Skip = "Remove to run test")]
30
- public void Asking_a_numeric_question ()
30
+ public void Asking_a_numeric_question()
31
31
  {
32
- Assert.Equal("Sure.", Bob.Hey("You are, what, like 15?"));
32
+ Assert.Equal("Sure.", Bob.Response("You are, what, like 15?"));
33
33
  }
34
34
 
35
35
  [Fact(Skip = "Remove to run test")]
36
- public void Talking_forcefully ()
36
+ public void Asking_gibberish()
37
37
  {
38
- Assert.Equal("Whatever.", Bob.Hey("Let's go make out behind the gym!"));
38
+ Assert.Equal("Sure.", Bob.Response("fffbbcbeab?"));
39
39
  }
40
40
 
41
41
  [Fact(Skip = "Remove to run test")]
42
- public void Using_acronyms_in_regular_search ()
42
+ public void Talking_forcefully()
43
43
  {
44
- Assert.Equal("Whatever.", Bob.Hey("It's OK if you don't want to go to the DMV."));
44
+ Assert.Equal("Whatever.", Bob.Response("Let's go make out behind the gym!"));
45
45
  }
46
46
 
47
47
  [Fact(Skip = "Remove to run test")]
48
- public void Forceful_questions ()
48
+ public void Using_acronyms_in_regular_speech()
49
49
  {
50
- Assert.Equal("Whoa, chill out!", Bob.Hey("WHAT THE HELL WERE YOU THINKING?"));
50
+ Assert.Equal("Whatever.", Bob.Response("It's OK if you don't want to go to the DMV."));
51
51
  }
52
52
 
53
53
  [Fact(Skip = "Remove to run test")]
54
- public void Shouting_numbers ()
54
+ public void Forceful_question()
55
55
  {
56
- Assert.Equal("Whoa, chill out!", Bob.Hey("1, 2, 3 GO!"));
56
+ Assert.Equal("Whoa, chill out!", Bob.Response("WHAT THE HELL WERE YOU THINKING?"));
57
57
  }
58
58
 
59
59
  [Fact(Skip = "Remove to run test")]
60
- public void Only_numbers ()
60
+ public void Shouting_numbers()
61
61
  {
62
- Assert.Equal("Whatever.", Bob.Hey("1, 2, 3"));
62
+ Assert.Equal("Whoa, chill out!", Bob.Response("1, 2, 3 GO!"));
63
63
  }
64
64
 
65
65
  [Fact(Skip = "Remove to run test")]
66
- public void Question_with_only_numbers ()
66
+ public void Only_numbers()
67
67
  {
68
- Assert.Equal("Sure.", Bob.Hey("4?"));
68
+ Assert.Equal("Whatever.", Bob.Response("1, 2, 3"));
69
69
  }
70
70
 
71
71
  [Fact(Skip = "Remove to run test")]
72
- public void Shouting_with_special_characters ()
72
+ public void Question_with_only_numbers()
73
73
  {
74
- Assert.Equal("Whoa, chill out!", Bob.Hey("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"));
74
+ Assert.Equal("Sure.", Bob.Response("4?"));
75
75
  }
76
76
 
77
77
  [Fact(Skip = "Remove to run test")]
78
- public void Shouting_with_no_exclamation_mark ()
78
+ public void Shouting_with_special_characters()
79
79
  {
80
- Assert.Equal("Whoa, chill out!", Bob.Hey("I HATE YOU"));
80
+ Assert.Equal("Whoa, chill out!", Bob.Response("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"));
81
81
  }
82
82
 
83
83
  [Fact(Skip = "Remove to run test")]
84
- public void Statement_containing_question_mark ()
84
+ public void Shouting_with_no_exclamation_mark()
85
85
  {
86
- Assert.Equal("Whatever.", Bob.Hey("Ending with ? means a question."));
86
+ Assert.Equal("Whoa, chill out!", Bob.Response("I HATE YOU"));
87
87
  }
88
88
 
89
89
  [Fact(Skip = "Remove to run test")]
90
- public void Prattling_on ()
90
+ public void Statement_containing_question_mark()
91
91
  {
92
- Assert.Equal("Sure.", Bob.Hey("Wait! Hang on. Are you going to be OK?"));
92
+ Assert.Equal("Whatever.", Bob.Response("Ending with ? means a question."));
93
93
  }
94
94
 
95
95
  [Fact(Skip = "Remove to run test")]
96
- public void Silence ()
96
+ public void Non_letters_with_question()
97
97
  {
98
- Assert.Equal("Fine. Be that way!", Bob.Hey(""));
98
+ Assert.Equal("Sure.", Bob.Response(":) ?"));
99
99
  }
100
100
 
101
101
  [Fact(Skip = "Remove to run test")]
102
- public void Prolonged_silence ()
102
+ public void Prattling_on()
103
103
  {
104
- Assert.Equal("Fine. Be that way!", Bob.Hey(" "));
104
+ Assert.Equal("Sure.", Bob.Response("Wait! Hang on. Are you going to be OK?"));
105
105
  }
106
106
 
107
107
  [Fact(Skip = "Remove to run test")]
108
- public void Multiple_line_question ()
108
+ public void Silence()
109
109
  {
110
- Assert.Equal("Whatever.", Bob.Hey("Does this cryogenic chamber make me look fat?\nno"));
110
+ Assert.Equal("Fine. Be that way!", Bob.Response(""));
111
111
  }
112
- }
112
+
113
+ [Fact(Skip = "Remove to run test")]
114
+ public void Prolonged_silence()
115
+ {
116
+ Assert.Equal("Fine. Be that way!", Bob.Response(" "));
117
+ }
118
+
119
+ [Fact(Skip = "Remove to run test")]
120
+ public void Alternate_silence()
121
+ {
122
+ Assert.Equal("Fine. Be that way!", Bob.Response("\t\t\t\t\t\t\t\t\t\t"));
123
+ }
124
+
125
+ [Fact(Skip = "Remove to run test")]
126
+ public void Multiple_line_question()
127
+ {
128
+ Assert.Equal("Whatever.", Bob.Response("\nDoes this cryogenic chamber make me look fat?\nno"));
129
+ }
130
+
131
+ [Fact(Skip = "Remove to run test")]
132
+ public void Starting_with_whitespace()
133
+ {
134
+ Assert.Equal("Whatever.", Bob.Response(" hmmmmmmm..."));
135
+ }
136
+
137
+ [Fact(Skip = "Remove to run test")]
138
+ public void Ending_with_whitespace()
139
+ {
140
+ Assert.Equal("Sure.", Bob.Response("Okay if like my spacebar quite a bit? "));
141
+ }
142
+
143
+ [Fact(Skip = "Remove to run test")]
144
+ public void Other_whitespace()
145
+ {
146
+ Assert.Equal("Fine. Be that way!", Bob.Response("\n\r \t"));
147
+ }
148
+
149
+ [Fact(Skip = "Remove to run test")]
150
+ public void Non_question_ending_with_whitespace()
151
+ {
152
+ Assert.Equal("Whatever.", Bob.Response("This is a statement ending with whitespace "));
153
+ }
154
+ }
@@ -1,6 +1,6 @@
1
1
  public static class Bob
2
2
  {
3
- public static string Hey(string statement)
3
+ public static string Response(string statement)
4
4
  {
5
5
  if (IsSilence(statement))
6
6
  return "Fine. Be that way!";
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class FoodChainTest
@@ -1,10 +1,12 @@
1
- using Xunit;
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
3
+ using Xunit;
2
4
 
3
5
  public class HelloWorldTest
4
6
  {
5
7
  [Fact]
6
- public void Say_hi()
8
+ public void Say_hi_()
7
9
  {
8
10
  Assert.Equal("Hello, World!", HelloWorld.Hello());
9
11
  }
10
- }
12
+ }
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.1.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class IsogramTest
@@ -49,4 +51,10 @@ public class IsogramTest
49
51
  {
50
52
  Assert.True(Isogram.IsIsogram("Emily Jung Schwartzkopf"));
51
53
  }
54
+
55
+ [Fact(Skip = "Remove to run test")]
56
+ public void Duplicated_character_in_the_middle()
57
+ {
58
+ Assert.False(Isogram.IsIsogram("accentor"));
59
+ }
52
60
  }
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class LeapTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class LuhnTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
  using System;
3
5
 
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.1 of the canonical data.
2
+
1
3
  using Xunit;
2
4
  using System;
3
5
 
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class PigLatinTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class RaindropsTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class RomanNumeralsTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
 
3
5
  public class RotationalCipherTest
@@ -1,3 +1,5 @@
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
1
3
  using Xunit;
2
4
  using System;
3
5
 
@@ -10,5 +10,6 @@ namespace Generators.Classes
10
10
  public string BeforeTestMethods { get; set; }
11
11
  public TestMethod[] TestMethods { get; set; }
12
12
  public string AfterTestMethods { get; set; }
13
+ public string CanonicalDataVersion { get; set; }
13
14
  }
14
15
  }
@@ -7,7 +7,9 @@ namespace Generators.Classes
7
7
  public static class TestClassRenderer
8
8
  {
9
9
  private const string TestClassTemplate =
10
- @"{UsingNamespaces}
10
+ @"// This file was auto-generated based on version {CanonicalDataVersion} of the canonical data.
11
+
12
+ {UsingNamespaces}
11
13
 
12
14
  public class {ClassName}
13
15
  {
@@ -16,6 +18,7 @@ public class {ClassName}
16
18
 
17
19
  public static string Render(TestClass testClass) =>
18
20
  TestClassTemplate
21
+ .Replace("{CanonicalDataVersion}", testClass.CanonicalDataVersion)
19
22
  .Replace("{UsingNamespaces}", RenderUsingNamespaces(testClass))
20
23
  .Replace("{ClassName}", testClass.ClassName)
21
24
  .Replace("{Body}", RenderBody(testClass));
@@ -0,0 +1,20 @@
1
+ using Generators.Data;
2
+ using Generators.Methods;
3
+
4
+ namespace Generators.Exercises
5
+ {
6
+ public class BobExercise : EqualityExercise
7
+ {
8
+ public BobExercise() : base("bob")
9
+ {
10
+ }
11
+
12
+ protected override TestMethodData CreateTestMethodData(CanonicalData canonicalData, CanonicalDataCase canonicalDataCase, int index)
13
+ {
14
+ var testMethodData = base.CreateTestMethodData(canonicalData, canonicalDataCase, index);
15
+ testMethodData.Options.InputProperty = "input";
16
+
17
+ return testMethodData;
18
+ }
19
+ }
20
+ }
@@ -27,7 +27,8 @@ namespace Generators.Exercises
27
27
  var testClass = new TestClass
28
28
  {
29
29
  ClassName = Name.Transform(To.TestClassName),
30
- TestMethods = CreateTestMethods(canonicalData).ToArray()
30
+ TestMethods = CreateTestMethods(canonicalData).ToArray(),
31
+ CanonicalDataVersion = canonicalData.Version
31
32
  };
32
33
 
33
34
  AddTestMethodUsingNamespaces(testClass);
@@ -56,6 +56,10 @@ namespace Generators.Methods
56
56
  switch (val)
57
57
  {
58
58
  case string s:
59
+ s = s
60
+ .Replace("\n", "\\n")
61
+ .Replace("\r", "\\r")
62
+ .Replace("\t", "\\t");
59
63
  return $"\"{s}\"";
60
64
  default:
61
65
  return val;
@@ -65,8 +65,19 @@ implementation
65
65
  uses uHelloWorld;
66
66
 
67
67
  procedure HelloWorldTest.Say_hi;
68
+ var
69
+ Expected: string;
70
+ Actual: string;
68
71
  begin
69
- assert.AreEqual('Hello, World!', Hello);
72
+ Expected := 'Hello, World!'; //Expected: This is what is expected to be returned by the function/method (Hello)
73
+ Actual := Hello; //Actual: This is what is actually returned by the function/method (Hello)
74
+ Assert.AreEqual(Expected, Actual);
75
+
76
+ //As you progress in this track you will find that not every exercise has Expected and
77
+ //Actual defined as explicitly as they have been above. Often times you may find
78
+ //that the Expected outcome is inserted as an inline statement and the the call
79
+ //to the method being tested will be inserted in the Actual position of AreEqual like so:
80
+ //Assert.AreEqual('Hello, World!', Hello);
70
81
  end;
71
82
 
72
83
  initialization