trackler 2.2.1.73 → 2.2.1.74
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/rna-transcription/canonical-data.json +1 -31
- data/problem-specifications/exercises/secret-handshake/metadata.yml +1 -1
- data/tracks/csharp/config.json +10 -0
- data/tracks/csharp/exercises/Exercises.sln +7 -1
- data/tracks/csharp/exercises/armstrong-numbers/ArmstrongNumbers.cs +9 -0
- data/tracks/csharp/exercises/armstrong-numbers/ArmstrongNumbers.csproj +17 -0
- data/tracks/csharp/exercises/armstrong-numbers/ArmstrongNumbersTest.cs +54 -0
- data/tracks/csharp/exercises/armstrong-numbers/Example.cs +18 -0
- data/tracks/csharp/exercises/armstrong-numbers/README.md +10 -0
- data/tracks/csharp/exercises/bob/BobTest.cs +2 -2
- data/tracks/csharp/exercises/bob/Example.cs +2 -0
- data/tracks/csharp/exercises/book-store/BookStoreTest.cs +8 -1
- data/tracks/csharp/exercises/change/README.md +1 -1
- data/tracks/csharp/exercises/rna-transcription/RnaTranscriptionTest.cs +1 -20
- data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/csharp/exercises/word-count/WordCountTest.cs +12 -0
- data/tracks/csharp/generators/Exercises/ArmstrongNumbers.cs +6 -0
- data/tracks/dart/config.json +4 -3
- data/tracks/dart/config/maintainers.json +3 -3
- data/tracks/delphi/exercises/armstrong-numbers/uArmstrongNumbersExample.pas +13 -10
- data/tracks/delphi/exercises/rna-transcription/uTestRnaTranscription.pas +4 -28
- data/tracks/ecmascript/config.json +5 -5
- data/tracks/fsharp/config.json +11 -0
- data/tracks/fsharp/exercises/Exercises.sln +6 -0
- data/tracks/fsharp/exercises/armstrong-numbers/ArmstrongNumbers.fs +3 -0
- data/tracks/fsharp/exercises/armstrong-numbers/ArmstrongNumbers.fsproj +23 -0
- data/tracks/fsharp/exercises/armstrong-numbers/ArmstrongNumbersTest.fs +41 -0
- data/tracks/fsharp/exercises/armstrong-numbers/Example.fs +7 -0
- data/tracks/fsharp/exercises/armstrong-numbers/Program.fs +1 -0
- data/tracks/fsharp/exercises/armstrong-numbers/README.md +15 -0
- data/tracks/fsharp/exercises/change/README.md +1 -1
- data/tracks/fsharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/fsharp/generators/Common.fs +1 -0
- data/tracks/fsharp/generators/Generators.fs +7 -0
- data/tracks/go/exercises/secret-handshake/README.md +1 -1
- data/tracks/idris/.travis.yml +23 -3
- data/tracks/idris/bin/fetch-exercism-infra.sh +121 -0
- data/tracks/idris/bin/fetch-stack.sh +11 -0
- data/tracks/idris/bin/solve_exercises.sh +59 -0
- data/tracks/idris/config.json +6 -0
- data/tracks/idris/exercises/hello-world/src/HelloWorld.idr +4 -0
- data/tracks/java/exercises/reverse-string/src/main/java/ReverseString.java +1 -1
- data/tracks/javascript/.eslintignore +0 -7
- data/tracks/javascript/config.json +11 -0
- data/tracks/javascript/exercises/anagram/example.js +2 -2
- data/tracks/javascript/exercises/circular-buffer/circular-buffer.spec.js +1 -1
- data/tracks/javascript/exercises/circular-buffer/example.js +1 -1
- data/tracks/javascript/exercises/pangram/example.js +5 -4
- data/tracks/javascript/exercises/say/example.js +5 -2
- data/tracks/javascript/exercises/scrabble-score/example.js +2 -3
- data/tracks/javascript/exercises/secret-handshake/README.md +1 -1
- data/tracks/javascript/exercises/triangle/example.js +3 -2
- data/tracks/javascript/exercises/trinary/example.js +1 -1
- data/tracks/javascript/exercises/two-fer/README.md +41 -0
- data/tracks/javascript/exercises/two-fer/example.js +10 -0
- data/tracks/javascript/exercises/two-fer/two-fer.js +12 -0
- data/tracks/javascript/exercises/two-fer/two-fer.spec.js +18 -0
- data/tracks/kotlin/exercises/secret-handshake/README.md +1 -1
- data/tracks/perl6/exercises/rna-transcription/Example.pm6 +1 -2
- data/tracks/perl6/exercises/rna-transcription/RNA.pm6 +1 -1
- data/tracks/perl6/exercises/rna-transcription/example.yaml +3 -10
- data/tracks/perl6/exercises/rna-transcription/rna-transcription.t +4 -40
- data/tracks/php/exercises/hamming/hamming_test.php +2 -1
- data/tracks/python/config.json +12 -0
- data/tracks/python/exercises/armstrong-numbers/README.md +28 -0
- data/tracks/python/exercises/armstrong-numbers/armstrong_numbers.py +2 -0
- data/tracks/python/exercises/armstrong-numbers/armstrong_numbers_test.py +36 -0
- data/tracks/python/exercises/armstrong-numbers/example.py +2 -0
- data/tracks/python/exercises/protein-translation/example.py +1 -1
- data/tracks/python/exercises/protein-translation/protein_translation.py +1 -5
- data/tracks/python/exercises/protein-translation/protein_translation_test.py +30 -19
- data/tracks/ruby/exercises/secret-handshake/README.md +1 -1
- data/tracks/rust/exercises/simple-linked-list/.meta/hints.md +2 -3
- data/tracks/rust/exercises/simple-linked-list/README.md +3 -3
- data/tracks/swift/config.json +13 -0
- data/tracks/swift/exercises/protein-translation/Package.swift +5 -0
- data/tracks/swift/exercises/protein-translation/README.md +56 -0
- data/tracks/swift/exercises/protein-translation/Sources/ProteinTranslation.swift +1 -0
- data/tracks/swift/exercises/protein-translation/Sources/ProteinTranslationExample.swift +54 -0
- data/tracks/swift/exercises/protein-translation/Tests/LinuxMain.swift +6 -0
- data/tracks/swift/exercises/protein-translation/Tests/ProteinTranslationTests/ProteinTranslationTests.swift +83 -0
- metadata +32 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a7b4624cf3983efc89bfe64c619f3b279d50de1
|
4
|
+
data.tar.gz: b8e4bbc0f9f8272c855fbea003cdc30195a2288f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec2977ea8d584e80be5ed3cd8ceccfa35c1a69d5af7cffe379cda9f6b600dc83f3e08a65a981ee013c6e8efeaaa8655f34ce32b8a4ba242e863c0aa1fb197d90
|
7
|
+
data.tar.gz: dc9f246584ced43eeeeeb2676567b02015f6b03176a58c329694035cfed04bbe62a9db03c10421c993e2a83e51f072b6e95069ae913bfd348f012008bbbf2a44
|
data/lib/trackler/version.rb
CHANGED
@@ -1,18 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "rna-transcription",
|
3
|
-
"version": "1.0
|
4
|
-
"comments": [
|
5
|
-
"Language implementations vary on the issue of invalid input data.",
|
6
|
-
"A language may elect to simplify this task by only presenting valid",
|
7
|
-
"test cases. For languages handling invalid input data as",
|
8
|
-
"error conditions, invalid test cases are included here and are",
|
9
|
-
"indicated with an expected value of null. Note however that null is",
|
10
|
-
"simply an indication here in the JSON. Actually returning null from",
|
11
|
-
"a rna-transcription function may or may not be idiomatic in a language.",
|
12
|
-
"Language idioms of errors or exceptions should be followed.",
|
13
|
-
"Alternative interpretations such as ignoring excess length at the end",
|
14
|
-
"are not represented here."
|
15
|
-
],
|
3
|
+
"version": "1.1.0",
|
16
4
|
"cases": [
|
17
5
|
{
|
18
6
|
"description": "RNA complement of cytosine is guanine",
|
@@ -43,24 +31,6 @@
|
|
43
31
|
"property": "toRna",
|
44
32
|
"dna": "ACGTGGTCTTAA",
|
45
33
|
"expected": "UGCACCAGAAUU"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"description": "correctly handles invalid input (RNA instead of DNA)",
|
49
|
-
"property": "toRna",
|
50
|
-
"dna": "U",
|
51
|
-
"expected": null
|
52
|
-
},
|
53
|
-
{
|
54
|
-
"description": "correctly handles completely invalid DNA input",
|
55
|
-
"property": "toRna",
|
56
|
-
"dna": "XXX",
|
57
|
-
"expected": null
|
58
|
-
},
|
59
|
-
{
|
60
|
-
"description": "correctly handles partially invalid DNA input",
|
61
|
-
"property": "toRna",
|
62
|
-
"dna": "ACGTXXXCTTAA",
|
63
|
-
"expected": null
|
64
34
|
}
|
65
35
|
]
|
66
36
|
}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
---
|
2
2
|
blurb: "Given a decimal number, convert it to the appropriate sequence of events for a secret handshake."
|
3
3
|
source: "Bert, in Mary Poppins"
|
4
|
-
source_url: "http://www.imdb.com/
|
4
|
+
source_url: "http://www.imdb.com/title/tt0058331/quotes/qt0437047"
|
data/tracks/csharp/config.json
CHANGED
@@ -125,6 +125,16 @@
|
|
125
125
|
"unlocked_by": "sum-of-multiples",
|
126
126
|
"uuid": "c4efbf8a-8e76-4700-807d-830a4938f4d0"
|
127
127
|
},
|
128
|
+
{
|
129
|
+
"core": false,
|
130
|
+
"difficulty": 2,
|
131
|
+
"slug": "armstrong-numbers",
|
132
|
+
"topics": [
|
133
|
+
"mathematics"
|
134
|
+
],
|
135
|
+
"unlocked_by": "sum-of-multiples",
|
136
|
+
"uuid": "8150604d-4cdc-414a-a523-dd65ac536f0e"
|
137
|
+
},
|
128
138
|
{
|
129
139
|
"core": true,
|
130
140
|
"difficulty": 3,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
2
2
|
# Visual Studio 15
|
3
|
-
VisualStudioVersion = 15.0.27004.
|
3
|
+
VisualStudioVersion = 15.0.27004.2009
|
4
4
|
MinimumVisualStudioVersion = 15.0.26124.0
|
5
5
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Accumulate", "accumulate\Accumulate.csproj", "{F16C0EE1-6923-4328-B015-363CF24FF867}"
|
6
6
|
EndProject
|
@@ -224,6 +224,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IsbnVerifier", "isbn-verifi
|
|
224
224
|
EndProject
|
225
225
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReverseString", "reverse-string\ReverseString.csproj", "{D2105979-EE3B-432B-8016-172BA949DE2F}"
|
226
226
|
EndProject
|
227
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArmstrongNumbers", "armstrong-numbers\ArmstrongNumbers.csproj", "{7015C2C4-4050-4631-9394-7EAF19AB0191}"
|
228
|
+
EndProject
|
227
229
|
Global
|
228
230
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
229
231
|
Debug|Any CPU = Debug|Any CPU
|
@@ -674,6 +676,10 @@ Global
|
|
674
676
|
{D2105979-EE3B-432B-8016-172BA949DE2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
675
677
|
{D2105979-EE3B-432B-8016-172BA949DE2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
676
678
|
{D2105979-EE3B-432B-8016-172BA949DE2F}.Release|Any CPU.Build.0 = Release|Any CPU
|
679
|
+
{7015C2C4-4050-4631-9394-7EAF19AB0191}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
680
|
+
{7015C2C4-4050-4631-9394-7EAF19AB0191}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
681
|
+
{7015C2C4-4050-4631-9394-7EAF19AB0191}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
682
|
+
{7015C2C4-4050-4631-9394-7EAF19AB0191}.Release|Any CPU.Build.0 = Release|Any CPU
|
677
683
|
EndGlobalSection
|
678
684
|
GlobalSection(SolutionProperties) = preSolution
|
679
685
|
HideSolutionNode = FALSE
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
2
|
+
|
3
|
+
<PropertyGroup>
|
4
|
+
<TargetFramework>netcoreapp2.0</TargetFramework>
|
5
|
+
</PropertyGroup>
|
6
|
+
|
7
|
+
<ItemGroup>
|
8
|
+
<Compile Remove="Example.cs" />
|
9
|
+
</ItemGroup>
|
10
|
+
|
11
|
+
<ItemGroup>
|
12
|
+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
|
13
|
+
<PackageReference Include="xunit" Version="2.3.1" />
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
|
15
|
+
</ItemGroup>
|
16
|
+
|
17
|
+
</Project>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
// This file was auto-generated based on version 1.0.0 of the canonical data.
|
2
|
+
|
3
|
+
using Xunit;
|
4
|
+
|
5
|
+
public class ArmstrongNumbersTest
|
6
|
+
{
|
7
|
+
[Fact]
|
8
|
+
public void Single_digit_numbers_are_armstrong_numbers()
|
9
|
+
{
|
10
|
+
Assert.True(ArmstrongNumbers.IsArmstrongNumber(5));
|
11
|
+
}
|
12
|
+
|
13
|
+
[Fact(Skip = "Remove to run test")]
|
14
|
+
public void There_are_no_2_digit_armstrong_numbers()
|
15
|
+
{
|
16
|
+
Assert.False(ArmstrongNumbers.IsArmstrongNumber(10));
|
17
|
+
}
|
18
|
+
|
19
|
+
[Fact(Skip = "Remove to run test")]
|
20
|
+
public void Three_digit_number_that_is_an_armstrong_number()
|
21
|
+
{
|
22
|
+
Assert.True(ArmstrongNumbers.IsArmstrongNumber(153));
|
23
|
+
}
|
24
|
+
|
25
|
+
[Fact(Skip = "Remove to run test")]
|
26
|
+
public void Three_digit_number_that_is_not_an_armstrong_number()
|
27
|
+
{
|
28
|
+
Assert.False(ArmstrongNumbers.IsArmstrongNumber(100));
|
29
|
+
}
|
30
|
+
|
31
|
+
[Fact(Skip = "Remove to run test")]
|
32
|
+
public void Four_digit_number_that_is_an_armstrong_number()
|
33
|
+
{
|
34
|
+
Assert.True(ArmstrongNumbers.IsArmstrongNumber(9474));
|
35
|
+
}
|
36
|
+
|
37
|
+
[Fact(Skip = "Remove to run test")]
|
38
|
+
public void Four_digit_number_that_is_not_an_armstrong_number()
|
39
|
+
{
|
40
|
+
Assert.False(ArmstrongNumbers.IsArmstrongNumber(9475));
|
41
|
+
}
|
42
|
+
|
43
|
+
[Fact(Skip = "Remove to run test")]
|
44
|
+
public void Seven_digit_number_that_is_an_armstrong_number()
|
45
|
+
{
|
46
|
+
Assert.True(ArmstrongNumbers.IsArmstrongNumber(9926315));
|
47
|
+
}
|
48
|
+
|
49
|
+
[Fact(Skip = "Remove to run test")]
|
50
|
+
public void Seven_digit_number_that_is_not_an_armstrong_number()
|
51
|
+
{
|
52
|
+
Assert.False(ArmstrongNumbers.IsArmstrongNumber(9926314));
|
53
|
+
}
|
54
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
using System;
|
2
|
+
|
3
|
+
public static class ArmstrongNumbers
|
4
|
+
{
|
5
|
+
public static bool IsArmstrongNumber(int number)
|
6
|
+
{
|
7
|
+
var numString = number.ToString();
|
8
|
+
var length = numString.Length;
|
9
|
+
|
10
|
+
double total = 0;
|
11
|
+
for (int i = 0; i < length; i++)
|
12
|
+
{
|
13
|
+
total += Math.Pow(int.Parse(numString[i].ToString()), length);
|
14
|
+
}
|
15
|
+
|
16
|
+
return number == (int)total;
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
An [Armstrong number](https://en.wikipedia.org/wiki/Narcissistic_number) is a number that is the sum of its own digits each raised to the power of the number of digits.
|
2
|
+
|
3
|
+
For example:
|
4
|
+
|
5
|
+
- 9 is an Armstrong number, because `9 = 9^1 = 9`
|
6
|
+
- 10 is *not* an Armstrong number, because `10 != 1^2 + 0^2 = 2`
|
7
|
+
- 153 is an Armstrong number, because: `153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153`
|
8
|
+
- 154 is *not* an Armstrong number, because: `154 != 1^3 + 5^3 + 4^3 = 1 + 125 + 64 = 190`
|
9
|
+
|
10
|
+
Write some code to determine whether a number is an Armstrong number.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// This file was auto-generated based on version 1.
|
1
|
+
// This file was auto-generated based on version 1.1.0 of the canonical data.
|
2
2
|
|
3
3
|
using Xunit;
|
4
4
|
|
@@ -55,7 +55,7 @@ public void Using_acronyms_in_regular_speech()
|
|
55
55
|
[Fact(Skip = "Remove to run test")]
|
56
56
|
public void Forceful_question()
|
57
57
|
{
|
58
|
-
Assert.Equal("
|
58
|
+
Assert.Equal("Calm down, I know what I'm doing!", Bob.Response("WHAT THE HELL WERE YOU THINKING?"));
|
59
59
|
}
|
60
60
|
|
61
61
|
[Fact(Skip = "Remove to run test")]
|
@@ -4,6 +4,8 @@ public static string Response(string statement)
|
|
4
4
|
{
|
5
5
|
if (IsSilence(statement))
|
6
6
|
return "Fine. Be that way!";
|
7
|
+
if (IsYelling(statement) && IsQuestion(statement))
|
8
|
+
return "Calm down, I know what I'm doing!";
|
7
9
|
if (IsYelling(statement))
|
8
10
|
return "Whoa, chill out!";
|
9
11
|
if (IsQuestion(statement))
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// This file was auto-generated based on version 1.0
|
1
|
+
// This file was auto-generated based on version 1.1.0 of the canonical data.
|
2
2
|
|
3
3
|
using Xunit;
|
4
4
|
|
@@ -94,4 +94,11 @@ public void Three_each_of_first_2_books_and_2_each_of_remaining_books()
|
|
94
94
|
var basket = new[] { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 2 };
|
95
95
|
Assert.Equal(75.2, BookStore.Total(basket));
|
96
96
|
}
|
97
|
+
|
98
|
+
[Fact(Skip = "Remove to run test")]
|
99
|
+
public void Four_groups_of_four_are_cheaper_than_two_groups_each_of_five_and_three()
|
100
|
+
{
|
101
|
+
var basket = new[] { 1, 1, 2, 2, 3, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 5 };
|
102
|
+
Assert.Equal(102.4, BookStore.Total(basket));
|
103
|
+
}
|
97
104
|
}
|
@@ -23,7 +23,7 @@ Note that, when trying to submit an exercise, make sure the exercise file that y
|
|
23
23
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
24
24
|
## Source
|
25
25
|
|
26
|
-
Software Craftsmanship - Kata-logue [http://craftsmanship.sv.cmu.edu/exercises/coin-change-kata](http://craftsmanship.sv.cmu.edu/exercises/coin-change-kata)
|
26
|
+
Software Craftsmanship - Kata-logue [http://craftsmanship.sv.cmu.edu/exercises/coin-change-kata](https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata)
|
27
27
|
|
28
28
|
## Submitting Incomplete Solutions
|
29
29
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -1,7 +1,6 @@
|
|
1
|
-
// This file was auto-generated based on version 1.0
|
1
|
+
// This file was auto-generated based on version 1.1.0 of the canonical data.
|
2
2
|
|
3
3
|
using Xunit;
|
4
|
-
using System;
|
5
4
|
|
6
5
|
public class RnaTranscriptionTest
|
7
6
|
{
|
@@ -34,22 +33,4 @@ public void Rna_complement()
|
|
34
33
|
{
|
35
34
|
Assert.Equal("UGCACCAGAAUU", RnaTranscription.ToRna("ACGTGGTCTTAA"));
|
36
35
|
}
|
37
|
-
|
38
|
-
[Fact(Skip = "Remove to run test")]
|
39
|
-
public void Correctly_handles_invalid_input_rna_instead_of_dna_()
|
40
|
-
{
|
41
|
-
Assert.Throws<ArgumentException>(() => RnaTranscription.ToRna("U"));
|
42
|
-
}
|
43
|
-
|
44
|
-
[Fact(Skip = "Remove to run test")]
|
45
|
-
public void Correctly_handles_completely_invalid_dna_input()
|
46
|
-
{
|
47
|
-
Assert.Throws<ArgumentException>(() => RnaTranscription.ToRna("XXX"));
|
48
|
-
}
|
49
|
-
|
50
|
-
[Fact(Skip = "Remove to run test")]
|
51
|
-
public void Correctly_handles_partially_invalid_dna_input()
|
52
|
-
{
|
53
|
-
Assert.Throws<ArgumentException>(() => RnaTranscription.ToRna("ACGTXXXCTTAA"));
|
54
|
-
}
|
55
36
|
}
|
@@ -35,7 +35,7 @@ Note that, when trying to submit an exercise, make sure the exercise file that y
|
|
35
35
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
36
36
|
## Source
|
37
37
|
|
38
|
-
Bert, in Mary Poppins [http://www.imdb.com/
|
38
|
+
Bert, in Mary Poppins [http://www.imdb.com/title/tt0058331/quotes/qt0437047](http://www.imdb.com/title/tt0058331/quotes/qt0437047)
|
39
39
|
|
40
40
|
## Submitting Incomplete Solutions
|
41
41
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -140,4 +140,16 @@ public void With_quotations()
|
|
140
140
|
};
|
141
141
|
Assert.Equal(expected, actual);
|
142
142
|
}
|
143
|
+
|
144
|
+
[Fact(Skip = "Remove to run test")]
|
145
|
+
public void Multiple_spaces_not_detected_as_a_word()
|
146
|
+
{
|
147
|
+
var actual = WordCount.Countwords(" multiple whitespaces");
|
148
|
+
var expected = new Dictionary<string, int>
|
149
|
+
{
|
150
|
+
["multiple"] = 1,
|
151
|
+
["whitespaces"] = 1
|
152
|
+
};
|
153
|
+
Assert.Equal(expected, actual);
|
154
|
+
}
|
143
155
|
}
|
data/tracks/dart/config.json
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"active": false,
|
3
|
-
"exercises": [
|
3
|
+
"exercises": [
|
4
|
+
{
|
4
5
|
"core": true,
|
5
6
|
"difficulty": 1,
|
6
7
|
"slug": "hello-world",
|
@@ -42,9 +43,9 @@
|
|
42
43
|
"slug": "word-count",
|
43
44
|
"topics": [
|
44
45
|
"control_flow_loops",
|
45
|
-
"
|
46
|
+
"lists",
|
46
47
|
"maps",
|
47
|
-
"
|
48
|
+
"regular_expressions"
|
48
49
|
],
|
49
50
|
"unlocked_by": "difference-of-squares",
|
50
51
|
"uuid": "b74dde02-03d0-4165-8302-e8ba119b486b"
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"show_on_website": false
|
12
12
|
},
|
13
13
|
{
|
14
|
-
"avatar_url": "https://avatars0.githubusercontent.com/u/7527155?v=4
|
14
|
+
"avatar_url": "https://avatars0.githubusercontent.com/u/7527155?v=4\u0026s=460",
|
15
15
|
"bio": null,
|
16
16
|
"github_username": "Stargator",
|
17
17
|
"link_text": null,
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"show_on_website": true
|
21
21
|
},
|
22
22
|
{
|
23
|
-
"avatar_url": "https://avatars3.githubusercontent.com/u/190414?v=4
|
23
|
+
"avatar_url": "https://avatars3.githubusercontent.com/u/190414?v=4\u0026s=460",
|
24
24
|
"bio": null,
|
25
25
|
"github_username": "fwip",
|
26
26
|
"link_text": null,
|
@@ -29,7 +29,7 @@
|
|
29
29
|
"show_on_website": false
|
30
30
|
},
|
31
31
|
{
|
32
|
-
"avatar_url": "https://avatars1.githubusercontent.com/u/18462563?v=4
|
32
|
+
"avatar_url": "https://avatars1.githubusercontent.com/u/18462563?v=4\u0026s=460",
|
33
33
|
"bio": null,
|
34
34
|
"github_username": "kabiir",
|
35
35
|
"link_text": null,
|
@@ -8,17 +8,20 @@ function isArmstrongNumber(aNumber: integer): Boolean;
|
|
8
8
|
implementation
|
9
9
|
|
10
10
|
function isArmstrongNumber(aNumber: integer): Boolean;
|
11
|
-
var
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
var
|
12
|
+
wrkNumber: integer;
|
13
|
+
Calculation: integer;
|
14
|
+
valLength: integer;
|
15
15
|
begin
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
wrkNumber := aNumber;
|
17
|
+
Calculation := 0;
|
18
|
+
valLength := aNumber.ToString.Length;
|
19
|
+
while wrkNumber > 0 do
|
20
|
+
begin
|
21
|
+
Calculation := Calculation + trunc(IntPower((wrkNumber mod 10), valLength));
|
22
|
+
wrkNumber := wrkNumber div 10;
|
23
|
+
end;
|
24
|
+
result := aNumber = Calculation;
|
22
25
|
end;
|
23
26
|
|
24
27
|
end.
|
@@ -4,12 +4,15 @@ interface
|
|
4
4
|
uses
|
5
5
|
DUnitX.TestFramework;
|
6
6
|
|
7
|
+
const
|
8
|
+
CanonicalVersion = '1.1.0';
|
9
|
+
|
7
10
|
type
|
8
11
|
[TestFixture]
|
9
12
|
RnaTranscriptionTest = class(TObject)
|
10
13
|
public
|
11
14
|
[Test]
|
12
|
-
//
|
15
|
+
// [Ignore('Comment the "[Ignore]" statement to run the test')]
|
13
16
|
procedure Rna_complement_of_cytosine_is_guanine;
|
14
17
|
|
15
18
|
[Test]
|
@@ -27,18 +30,6 @@ type
|
|
27
30
|
[Test]
|
28
31
|
[Ignore]
|
29
32
|
procedure Rna_complement;
|
30
|
-
|
31
|
-
[Test]
|
32
|
-
[Ignore]
|
33
|
-
procedure Dna_correctly_handles_invalid_input;
|
34
|
-
|
35
|
-
[Test]
|
36
|
-
[Ignore]
|
37
|
-
procedure Dna_correctly_handles_completely_invalid_input;
|
38
|
-
|
39
|
-
[Test]
|
40
|
-
[Ignore]
|
41
|
-
procedure Dna_correctly_handles_partially_invalid_input;
|
42
33
|
end;
|
43
34
|
|
44
35
|
implementation
|
@@ -69,21 +60,6 @@ begin
|
|
69
60
|
Assert.AreEqual('UGCACCAGAAUU', complement.OfDna('ACGTGGTCTTAA'));
|
70
61
|
end;
|
71
62
|
|
72
|
-
procedure RnaTranscriptionTest.Dna_correctly_handles_invalid_input;
|
73
|
-
begin
|
74
|
-
Assert.AreEqual('', complement.OfDna('U'));
|
75
|
-
end;
|
76
|
-
|
77
|
-
procedure RnaTranscriptionTest.Dna_correctly_handles_completely_invalid_input;
|
78
|
-
begin
|
79
|
-
Assert.AreEqual('', complement.OfDna('XXX'));
|
80
|
-
end;
|
81
|
-
|
82
|
-
procedure RnaTranscriptionTest.Dna_correctly_handles_partially_invalid_input;
|
83
|
-
begin
|
84
|
-
Assert.AreEqual('', complement.OfDna('ACGTXXXCTTAA'));
|
85
|
-
end;
|
86
|
-
|
87
63
|
initialization
|
88
64
|
TDUnitX.RegisterTestFixture(RnaTranscriptionTest);
|
89
65
|
end.
|