trackler 2.2.1.20 → 2.2.1.21
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/csharp/config.json +11 -0
- data/tracks/csharp/exercises/Exercises.All.sln +15 -1
- data/tracks/csharp/exercises/Exercises.Default.sln +120 -106
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbers.cs +53 -0
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbers.csproj +18 -0
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbersTest.cs +255 -0
- data/tracks/csharp/exercises/complex-numbers/Example.cs +78 -0
- data/tracks/csharp/exercises/grains/Example.cs +8 -1
- data/tracks/csharp/exercises/grains/GrainsTest.cs +38 -17
- data/tracks/csharp/generators/Exercises/ComplexNumbers.cs +119 -0
- data/tracks/csharp/generators/Exercises/Grains.cs +29 -0
- data/tracks/csharp/generators/Output/ValueFormatter.cs +2 -0
- data/tracks/delphi/exercises/two-fer/utwoferExample.pas +2 -5
- data/tracks/ecmascript/exercises/queen-attack/example.js +28 -23
- data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +10 -15
- data/tracks/java/config.json +1 -0
- data/tracks/r/exercises/perfect-numbers/example.R +1 -1
- data/tracks/r/exercises/perfect-numbers/perfect-numbers.R +1 -1
- data/tracks/r/exercises/perfect-numbers/test_perfect-numbers.R +13 -13
- data/tracks/ruby/docs/24pullrequests.md +1 -1
- data/tracks/ruby/exercises/hello-world/.meta/generator/test_template.erb +1 -1
- data/tracks/ruby/exercises/hello-world/hello_world_test.rb +1 -1
- data/tracks/ruby/test/generator/command_line/generator_optparser_test.rb +1 -1
- data/tracks/ruby/test/generator/command_line_test.rb +1 -1
- data/tracks/ruby/test/generator/files/metadata_files_test.rb +1 -1
- data/tracks/rust/exercises/accumulate/README.md +0 -3
- data/tracks/rust/exercises/beer-song/src/lib.rs +7 -0
- data/tracks/rust/exercises/bob/src/lib.rs +3 -0
- data/tracks/rust/exercises/bowling/example.rs +1 -1
- data/tracks/rust/exercises/difference-of-squares/src/lib.rs +11 -0
- data/tracks/rust/exercises/grade-school/example.rs +1 -1
- data/tracks/rust/exercises/leap/src/lib.rs +3 -0
- data/tracks/rust/exercises/proverb/src/lib.rs +3 -0
- data/tracks/rust/exercises/raindrops/src/lib.rs +3 -0
- data/tracks/rust/exercises/sum-of-multiples/src/lib.rs +3 -0
- data/tracks/scala/exercises/space-age/example.scala +26 -20
- data/tracks/scala/exercises/space-age/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/space-age/src/test/scala/SpaceAgeTest.scala +19 -38
- data/tracks/scala/exercises/sublist/src/test/scala/SublistTest.scala +36 -44
- data/tracks/scala/testgen/src/main/scala/SpaceAgeTestGenerator.scala +39 -0
- data/tracks/scala/testgen/src/main/scala/SublistTestGenerator.scala +38 -0
- metadata +11 -3
- data/tracks/scala/exercises/space-age/src/main/scala/SpaceAge.scala +0 -10
@@ -0,0 +1,18 @@
|
|
1
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
2
|
+
|
3
|
+
<PropertyGroup>
|
4
|
+
<OutputType>Exe</OutputType>
|
5
|
+
<TargetFramework>netcoreapp1.0</TargetFramework>
|
6
|
+
</PropertyGroup>
|
7
|
+
|
8
|
+
<ItemGroup>
|
9
|
+
<Compile Remove="Example.cs" />
|
10
|
+
</ItemGroup>
|
11
|
+
|
12
|
+
<ItemGroup>
|
13
|
+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
|
14
|
+
<PackageReference Include="xunit" Version="2.2.0" />
|
15
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
|
16
|
+
</ItemGroup>
|
17
|
+
|
18
|
+
</Project>
|
@@ -0,0 +1,255 @@
|
|
1
|
+
// This file was auto-generated based on version 1.0.0 of the canonical data.
|
2
|
+
|
3
|
+
using Xunit;
|
4
|
+
using System;
|
5
|
+
|
6
|
+
public class ComplexNumbersTest
|
7
|
+
{
|
8
|
+
[Fact]
|
9
|
+
public void Real_part_of_a_purely_real_number()
|
10
|
+
{
|
11
|
+
var sut = new ComplexNumber(1, 0);
|
12
|
+
Assert.Equal(1, sut.Real());
|
13
|
+
}
|
14
|
+
|
15
|
+
[Fact(Skip = "Remove to run test")]
|
16
|
+
public void Real_part_of_a_purely_imaginary_number()
|
17
|
+
{
|
18
|
+
var sut = new ComplexNumber(0, 1);
|
19
|
+
Assert.Equal(0, sut.Real());
|
20
|
+
}
|
21
|
+
|
22
|
+
[Fact(Skip = "Remove to run test")]
|
23
|
+
public void Real_part_of_a_number_with_real_and_imaginary_part()
|
24
|
+
{
|
25
|
+
var sut = new ComplexNumber(1, 2);
|
26
|
+
Assert.Equal(1, sut.Real());
|
27
|
+
}
|
28
|
+
|
29
|
+
[Fact(Skip = "Remove to run test")]
|
30
|
+
public void Imaginary_part_of_a_purely_real_number()
|
31
|
+
{
|
32
|
+
var sut = new ComplexNumber(1, 0);
|
33
|
+
Assert.Equal(0, sut.Imaginary());
|
34
|
+
}
|
35
|
+
|
36
|
+
[Fact(Skip = "Remove to run test")]
|
37
|
+
public void Imaginary_part_of_a_purely_imaginary_number()
|
38
|
+
{
|
39
|
+
var sut = new ComplexNumber(0, 1);
|
40
|
+
Assert.Equal(1, sut.Imaginary());
|
41
|
+
}
|
42
|
+
|
43
|
+
[Fact(Skip = "Remove to run test")]
|
44
|
+
public void Imaginary_part_of_a_number_with_real_and_imaginary_part()
|
45
|
+
{
|
46
|
+
var sut = new ComplexNumber(1, 2);
|
47
|
+
Assert.Equal(2, sut.Imaginary());
|
48
|
+
}
|
49
|
+
|
50
|
+
[Fact(Skip = "Remove to run test")]
|
51
|
+
public void Imaginary_unit()
|
52
|
+
{
|
53
|
+
var sut = new ComplexNumber(0, 1);
|
54
|
+
var expected = new ComplexNumber(-1, 0);
|
55
|
+
Assert.Equal(expected.Real(), sut.Mul(new ComplexNumber(0, 1)).Real(), 15);
|
56
|
+
Assert.Equal(expected.Imaginary(), sut.Mul(new ComplexNumber(0, 1)).Imaginary(), 15);
|
57
|
+
}
|
58
|
+
|
59
|
+
[Fact(Skip = "Remove to run test")]
|
60
|
+
public void Add_purely_real_numbers()
|
61
|
+
{
|
62
|
+
var sut = new ComplexNumber(1, 0);
|
63
|
+
var expected = new ComplexNumber(3, 0);
|
64
|
+
Assert.Equal(expected.Real(), sut.Add(new ComplexNumber(2, 0)).Real(), 15);
|
65
|
+
Assert.Equal(expected.Imaginary(), sut.Add(new ComplexNumber(2, 0)).Imaginary(), 15);
|
66
|
+
}
|
67
|
+
|
68
|
+
[Fact(Skip = "Remove to run test")]
|
69
|
+
public void Add_purely_imaginary_numbers()
|
70
|
+
{
|
71
|
+
var sut = new ComplexNumber(0, 1);
|
72
|
+
var expected = new ComplexNumber(0, 3);
|
73
|
+
Assert.Equal(expected.Real(), sut.Add(new ComplexNumber(0, 2)).Real(), 15);
|
74
|
+
Assert.Equal(expected.Imaginary(), sut.Add(new ComplexNumber(0, 2)).Imaginary(), 15);
|
75
|
+
}
|
76
|
+
|
77
|
+
[Fact(Skip = "Remove to run test")]
|
78
|
+
public void Add_numbers_with_real_and_imaginary_part()
|
79
|
+
{
|
80
|
+
var sut = new ComplexNumber(1, 2);
|
81
|
+
var expected = new ComplexNumber(4, 6);
|
82
|
+
Assert.Equal(expected.Real(), sut.Add(new ComplexNumber(3, 4)).Real(), 15);
|
83
|
+
Assert.Equal(expected.Imaginary(), sut.Add(new ComplexNumber(3, 4)).Imaginary(), 15);
|
84
|
+
}
|
85
|
+
|
86
|
+
[Fact(Skip = "Remove to run test")]
|
87
|
+
public void Subtract_purely_real_numbers()
|
88
|
+
{
|
89
|
+
var sut = new ComplexNumber(1, 0);
|
90
|
+
var expected = new ComplexNumber(-1, 0);
|
91
|
+
Assert.Equal(expected.Real(), sut.Sub(new ComplexNumber(2, 0)).Real(), 15);
|
92
|
+
Assert.Equal(expected.Imaginary(), sut.Sub(new ComplexNumber(2, 0)).Imaginary(), 15);
|
93
|
+
}
|
94
|
+
|
95
|
+
[Fact(Skip = "Remove to run test")]
|
96
|
+
public void Subtract_purely_imaginary_numbers()
|
97
|
+
{
|
98
|
+
var sut = new ComplexNumber(0, 1);
|
99
|
+
var expected = new ComplexNumber(0, -1);
|
100
|
+
Assert.Equal(expected.Real(), sut.Sub(new ComplexNumber(0, 2)).Real(), 15);
|
101
|
+
Assert.Equal(expected.Imaginary(), sut.Sub(new ComplexNumber(0, 2)).Imaginary(), 15);
|
102
|
+
}
|
103
|
+
|
104
|
+
[Fact(Skip = "Remove to run test")]
|
105
|
+
public void Subtract_numbers_with_real_and_imaginary_part()
|
106
|
+
{
|
107
|
+
var sut = new ComplexNumber(1, 2);
|
108
|
+
var expected = new ComplexNumber(-2, -2);
|
109
|
+
Assert.Equal(expected.Real(), sut.Sub(new ComplexNumber(3, 4)).Real(), 15);
|
110
|
+
Assert.Equal(expected.Imaginary(), sut.Sub(new ComplexNumber(3, 4)).Imaginary(), 15);
|
111
|
+
}
|
112
|
+
|
113
|
+
[Fact(Skip = "Remove to run test")]
|
114
|
+
public void Multiply_purely_real_numbers()
|
115
|
+
{
|
116
|
+
var sut = new ComplexNumber(1, 0);
|
117
|
+
var expected = new ComplexNumber(2, 0);
|
118
|
+
Assert.Equal(expected.Real(), sut.Mul(new ComplexNumber(2, 0)).Real(), 15);
|
119
|
+
Assert.Equal(expected.Imaginary(), sut.Mul(new ComplexNumber(2, 0)).Imaginary(), 15);
|
120
|
+
}
|
121
|
+
|
122
|
+
[Fact(Skip = "Remove to run test")]
|
123
|
+
public void Multiply_purely_imaginary_numbers()
|
124
|
+
{
|
125
|
+
var sut = new ComplexNumber(0, 1);
|
126
|
+
var expected = new ComplexNumber(-2, 0);
|
127
|
+
Assert.Equal(expected.Real(), sut.Mul(new ComplexNumber(0, 2)).Real(), 15);
|
128
|
+
Assert.Equal(expected.Imaginary(), sut.Mul(new ComplexNumber(0, 2)).Imaginary(), 15);
|
129
|
+
}
|
130
|
+
|
131
|
+
[Fact(Skip = "Remove to run test")]
|
132
|
+
public void Multiply_numbers_with_real_and_imaginary_part()
|
133
|
+
{
|
134
|
+
var sut = new ComplexNumber(1, 2);
|
135
|
+
var expected = new ComplexNumber(-5, 10);
|
136
|
+
Assert.Equal(expected.Real(), sut.Mul(new ComplexNumber(3, 4)).Real(), 15);
|
137
|
+
Assert.Equal(expected.Imaginary(), sut.Mul(new ComplexNumber(3, 4)).Imaginary(), 15);
|
138
|
+
}
|
139
|
+
|
140
|
+
[Fact(Skip = "Remove to run test")]
|
141
|
+
public void Divide_purely_real_numbers()
|
142
|
+
{
|
143
|
+
var sut = new ComplexNumber(1, 0);
|
144
|
+
var expected = new ComplexNumber(0.5, 0);
|
145
|
+
Assert.Equal(expected.Real(), sut.Div(new ComplexNumber(2, 0)).Real(), 15);
|
146
|
+
Assert.Equal(expected.Imaginary(), sut.Div(new ComplexNumber(2, 0)).Imaginary(), 15);
|
147
|
+
}
|
148
|
+
|
149
|
+
[Fact(Skip = "Remove to run test")]
|
150
|
+
public void Divide_purely_imaginary_numbers()
|
151
|
+
{
|
152
|
+
var sut = new ComplexNumber(0, 1);
|
153
|
+
var expected = new ComplexNumber(0.5, 0);
|
154
|
+
Assert.Equal(expected.Real(), sut.Div(new ComplexNumber(0, 2)).Real(), 15);
|
155
|
+
Assert.Equal(expected.Imaginary(), sut.Div(new ComplexNumber(0, 2)).Imaginary(), 15);
|
156
|
+
}
|
157
|
+
|
158
|
+
[Fact(Skip = "Remove to run test")]
|
159
|
+
public void Divide_numbers_with_real_and_imaginary_part()
|
160
|
+
{
|
161
|
+
var sut = new ComplexNumber(1, 2);
|
162
|
+
var expected = new ComplexNumber(0.44, 0.08);
|
163
|
+
Assert.Equal(expected.Real(), sut.Div(new ComplexNumber(3, 4)).Real(), 15);
|
164
|
+
Assert.Equal(expected.Imaginary(), sut.Div(new ComplexNumber(3, 4)).Imaginary(), 15);
|
165
|
+
}
|
166
|
+
|
167
|
+
[Fact(Skip = "Remove to run test")]
|
168
|
+
public void Absolute_value_of_a_positive_purely_real_number()
|
169
|
+
{
|
170
|
+
var sut = new ComplexNumber(5, 0);
|
171
|
+
Assert.Equal(5, sut.Abs());
|
172
|
+
}
|
173
|
+
|
174
|
+
[Fact(Skip = "Remove to run test")]
|
175
|
+
public void Absolute_value_of_a_negative_purely_real_number()
|
176
|
+
{
|
177
|
+
var sut = new ComplexNumber(-5, 0);
|
178
|
+
Assert.Equal(5, sut.Abs());
|
179
|
+
}
|
180
|
+
|
181
|
+
[Fact(Skip = "Remove to run test")]
|
182
|
+
public void Absolute_value_of_a_purely_imaginary_number_with_positive_imaginary_part()
|
183
|
+
{
|
184
|
+
var sut = new ComplexNumber(0, 5);
|
185
|
+
Assert.Equal(5, sut.Abs());
|
186
|
+
}
|
187
|
+
|
188
|
+
[Fact(Skip = "Remove to run test")]
|
189
|
+
public void Absolute_value_of_a_purely_imaginary_number_with_negative_imaginary_part()
|
190
|
+
{
|
191
|
+
var sut = new ComplexNumber(0, -5);
|
192
|
+
Assert.Equal(5, sut.Abs());
|
193
|
+
}
|
194
|
+
|
195
|
+
[Fact(Skip = "Remove to run test")]
|
196
|
+
public void Absolute_value_of_a_number_with_real_and_imaginary_part()
|
197
|
+
{
|
198
|
+
var sut = new ComplexNumber(3, 4);
|
199
|
+
Assert.Equal(5, sut.Abs());
|
200
|
+
}
|
201
|
+
|
202
|
+
[Fact(Skip = "Remove to run test")]
|
203
|
+
public void Conjugate_a_purely_real_number()
|
204
|
+
{
|
205
|
+
var sut = new ComplexNumber(5, 0);
|
206
|
+
var expected = new ComplexNumber(5, 0);
|
207
|
+
Assert.Equal(expected.Real(), sut.Conjugate().Real(), 15);
|
208
|
+
Assert.Equal(expected.Imaginary(), sut.Conjugate().Imaginary(), 15);
|
209
|
+
}
|
210
|
+
|
211
|
+
[Fact(Skip = "Remove to run test")]
|
212
|
+
public void Conjugate_a_purely_imaginary_number()
|
213
|
+
{
|
214
|
+
var sut = new ComplexNumber(0, 5);
|
215
|
+
var expected = new ComplexNumber(0, -5);
|
216
|
+
Assert.Equal(expected.Real(), sut.Conjugate().Real(), 15);
|
217
|
+
Assert.Equal(expected.Imaginary(), sut.Conjugate().Imaginary(), 15);
|
218
|
+
}
|
219
|
+
|
220
|
+
[Fact(Skip = "Remove to run test")]
|
221
|
+
public void Conjugate_a_number_with_real_and_imaginary_part()
|
222
|
+
{
|
223
|
+
var sut = new ComplexNumber(1, 1);
|
224
|
+
var expected = new ComplexNumber(1, -1);
|
225
|
+
Assert.Equal(expected.Real(), sut.Conjugate().Real(), 15);
|
226
|
+
Assert.Equal(expected.Imaginary(), sut.Conjugate().Imaginary(), 15);
|
227
|
+
}
|
228
|
+
|
229
|
+
[Fact(Skip = "Remove to run test")]
|
230
|
+
public void Eulers_identity_formula()
|
231
|
+
{
|
232
|
+
var sut = new ComplexNumber(0, Math.PI);
|
233
|
+
var expected = new ComplexNumber(-1, 0);
|
234
|
+
Assert.Equal(expected.Real(), sut.Exp().Real(), 15);
|
235
|
+
Assert.Equal(expected.Imaginary(), sut.Exp().Imaginary(), 15);
|
236
|
+
}
|
237
|
+
|
238
|
+
[Fact(Skip = "Remove to run test")]
|
239
|
+
public void Exponential_of_0()
|
240
|
+
{
|
241
|
+
var sut = new ComplexNumber(0, 0);
|
242
|
+
var expected = new ComplexNumber(1, 0);
|
243
|
+
Assert.Equal(expected.Real(), sut.Exp().Real(), 15);
|
244
|
+
Assert.Equal(expected.Imaginary(), sut.Exp().Imaginary(), 15);
|
245
|
+
}
|
246
|
+
|
247
|
+
[Fact(Skip = "Remove to run test")]
|
248
|
+
public void Exponential_of_a_purely_real_number()
|
249
|
+
{
|
250
|
+
var sut = new ComplexNumber(1, 0);
|
251
|
+
var expected = new ComplexNumber(Math.E, 0);
|
252
|
+
Assert.Equal(expected.Real(), sut.Exp().Real(), 15);
|
253
|
+
Assert.Equal(expected.Imaginary(), sut.Exp().Imaginary(), 15);
|
254
|
+
}
|
255
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Diagnostics;
|
3
|
+
|
4
|
+
[DebuggerDisplay("{_real} + {_imaginary}i")]
|
5
|
+
public struct ComplexNumber
|
6
|
+
{
|
7
|
+
private readonly double _real;
|
8
|
+
private readonly double _imaginary;
|
9
|
+
|
10
|
+
public ComplexNumber(double real, double imaginary)
|
11
|
+
{
|
12
|
+
_real = real;
|
13
|
+
_imaginary = imaginary;
|
14
|
+
}
|
15
|
+
|
16
|
+
public double Real()
|
17
|
+
{
|
18
|
+
return _real;
|
19
|
+
}
|
20
|
+
|
21
|
+
public double Imaginary()
|
22
|
+
{
|
23
|
+
return _imaginary;
|
24
|
+
}
|
25
|
+
|
26
|
+
public ComplexNumber Mul(ComplexNumber other)
|
27
|
+
{
|
28
|
+
return new ComplexNumber(
|
29
|
+
_real * other._real - _imaginary * other._imaginary,
|
30
|
+
_imaginary * other._real + _real * other._imaginary);
|
31
|
+
}
|
32
|
+
|
33
|
+
public ComplexNumber Add(ComplexNumber other)
|
34
|
+
{
|
35
|
+
return new ComplexNumber(
|
36
|
+
_real + other._real,
|
37
|
+
_imaginary + other._imaginary);
|
38
|
+
}
|
39
|
+
|
40
|
+
public ComplexNumber Sub(ComplexNumber other)
|
41
|
+
{
|
42
|
+
return new ComplexNumber(
|
43
|
+
_real - other._real,
|
44
|
+
_imaginary - other._imaginary);
|
45
|
+
}
|
46
|
+
|
47
|
+
public ComplexNumber Div(ComplexNumber other)
|
48
|
+
{
|
49
|
+
var denominator = other._real * other._real + other._imaginary * other._imaginary;
|
50
|
+
var real = (_real * other._real + _imaginary * other._imaginary) / denominator;
|
51
|
+
var imaginary = (_imaginary * other._real - _real * _real * other._imaginary) / denominator;
|
52
|
+
|
53
|
+
return new ComplexNumber(real, imaginary);
|
54
|
+
}
|
55
|
+
|
56
|
+
public double Abs()
|
57
|
+
{
|
58
|
+
return Math.Sqrt(_real * _real + _imaginary * _imaginary);
|
59
|
+
}
|
60
|
+
|
61
|
+
public ComplexNumber Conjugate()
|
62
|
+
{
|
63
|
+
return new ComplexNumber(
|
64
|
+
_real,
|
65
|
+
-1 * _imaginary);
|
66
|
+
}
|
67
|
+
|
68
|
+
public ComplexNumber Exp()
|
69
|
+
{
|
70
|
+
var real = Math.Cos(_imaginary);
|
71
|
+
var imaginary = Math.Sin(_imaginary);
|
72
|
+
var factor = Math.Exp(_real);
|
73
|
+
|
74
|
+
return new ComplexNumber(
|
75
|
+
real * factor,
|
76
|
+
imaginary * factor);
|
77
|
+
}
|
78
|
+
}
|
@@ -1,7 +1,14 @@
|
|
1
|
-
|
1
|
+
using System;
|
2
|
+
|
3
|
+
public static class Grains
|
2
4
|
{
|
3
5
|
public static ulong Square(int n)
|
4
6
|
{
|
7
|
+
if (n <= 0 || n > 64)
|
8
|
+
{
|
9
|
+
throw new ArgumentOutOfRangeException(nameof(n));
|
10
|
+
}
|
11
|
+
|
5
12
|
return n == 1
|
6
13
|
? 1
|
7
14
|
: 2 * Square(n - 1);
|
@@ -1,52 +1,73 @@
|
|
1
|
-
|
1
|
+
// This file was auto-generated based on version 1.0.0 of the canonical data.
|
2
|
+
|
3
|
+
using Xunit;
|
4
|
+
using System;
|
2
5
|
|
3
6
|
public class GrainsTest
|
4
7
|
{
|
5
8
|
[Fact]
|
6
|
-
public void
|
9
|
+
public void Returns_the_total_number_of_grains_on_the_board()
|
10
|
+
{
|
11
|
+
Assert.Equal(18446744073709551615UL, Grains.Total());
|
12
|
+
}
|
13
|
+
|
14
|
+
[Fact(Skip = "Remove to run test")]
|
15
|
+
public void Number_1()
|
16
|
+
{
|
17
|
+
Assert.Equal(1UL, Grains.Square(1));
|
18
|
+
}
|
19
|
+
|
20
|
+
[Fact(Skip = "Remove to run test")]
|
21
|
+
public void Number_2()
|
22
|
+
{
|
23
|
+
Assert.Equal(2UL, Grains.Square(2));
|
24
|
+
}
|
25
|
+
|
26
|
+
[Fact(Skip = "Remove to run test")]
|
27
|
+
public void Number_3()
|
7
28
|
{
|
8
|
-
Assert.Equal(
|
29
|
+
Assert.Equal(4UL, Grains.Square(3));
|
9
30
|
}
|
10
31
|
|
11
32
|
[Fact(Skip = "Remove to run test")]
|
12
|
-
public void
|
33
|
+
public void Number_4()
|
13
34
|
{
|
14
|
-
Assert.Equal(
|
35
|
+
Assert.Equal(8UL, Grains.Square(4));
|
15
36
|
}
|
16
37
|
|
17
38
|
[Fact(Skip = "Remove to run test")]
|
18
|
-
public void
|
39
|
+
public void Number_16()
|
19
40
|
{
|
20
|
-
Assert.Equal(
|
41
|
+
Assert.Equal(32768UL, Grains.Square(16));
|
21
42
|
}
|
22
43
|
|
23
44
|
[Fact(Skip = "Remove to run test")]
|
24
|
-
public void
|
45
|
+
public void Number_32()
|
25
46
|
{
|
26
|
-
Assert.Equal(
|
47
|
+
Assert.Equal(2147483648UL, Grains.Square(32));
|
27
48
|
}
|
28
49
|
|
29
50
|
[Fact(Skip = "Remove to run test")]
|
30
|
-
public void
|
51
|
+
public void Number_64()
|
31
52
|
{
|
32
|
-
Assert.Equal(
|
53
|
+
Assert.Equal(9223372036854775808UL, Grains.Square(64));
|
33
54
|
}
|
34
55
|
|
35
56
|
[Fact(Skip = "Remove to run test")]
|
36
|
-
public void
|
57
|
+
public void Square_0_raises_an_exception()
|
37
58
|
{
|
38
|
-
Assert.
|
59
|
+
Assert.Throws<ArgumentOutOfRangeException>(() => Grains.Square(0));
|
39
60
|
}
|
40
61
|
|
41
62
|
[Fact(Skip = "Remove to run test")]
|
42
|
-
public void
|
63
|
+
public void Negative_square_raises_an_exception()
|
43
64
|
{
|
44
|
-
Assert.
|
65
|
+
Assert.Throws<ArgumentOutOfRangeException>(() => Grains.Square(-1));
|
45
66
|
}
|
46
67
|
|
47
68
|
[Fact(Skip = "Remove to run test")]
|
48
|
-
public void
|
69
|
+
public void Square_greater_than_64_raises_an_exception()
|
49
70
|
{
|
50
|
-
Assert.
|
71
|
+
Assert.Throws<ArgumentOutOfRangeException>(() => Grains.Square(65));
|
51
72
|
}
|
52
73
|
}
|