Skip to content

Commit 8253839

Browse files
Rename task
1 parent 909bbba commit 8253839

File tree

6 files changed

+61
-22
lines changed

6 files changed

+61
-22
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44

55
bin/
66
obj/
7+
8+
*.DotSettings.user

src/Exercism.Tests/Class1.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
3+
namespace Exercism.Tests
4+
{
5+
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)]
6+
public class TaskAttribute : Attribute
7+
{
8+
public int Number { get; }
9+
10+
public TaskAttribute(int number)
11+
{
12+
if (number <= 0) throw new ArgumentOutOfRangeException(nameof(number), number, "Number must be greater than zero");
13+
14+
Number = number;
15+
}
16+
}
17+
}

tests/Exercism.Tests.Tests/Exercism.Tests.Tests.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,8 @@
1919
</PackageReference>
2020
</ItemGroup>
2121

22+
<ItemGroup>
23+
<ProjectReference Include="..\..\src\Exercism.Tests\Exercism.Tests.csproj" />
24+
</ItemGroup>
25+
2226
</Project>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System;
2+
using Xunit;
3+
4+
namespace Exercism.Tests.Tests
5+
{
6+
public class TaskAttributeTests
7+
{
8+
[Fact]
9+
public void AllowsOneDeclaration()
10+
{
11+
[Task(1)]
12+
string TestMethod() => "One";
13+
}
14+
15+
[Fact]
16+
public void AllowsMultipleDeclarations()
17+
{
18+
[Task(1), Task(2), Task(3)]
19+
string TestMethod() => "One, Two, Three";
20+
}
21+
22+
[Fact]
23+
public void ThrowsArgumentOutOfRangeExceptionWhenNumberIsZero()
24+
{
25+
Assert.Throws<ArgumentOutOfRangeException>(() => new TaskAttribute(0));
26+
}
27+
28+
[Theory]
29+
[InlineData(-1)]
30+
[InlineData(-2)]
31+
[InlineData(-82)]
32+
[InlineData(-123_832_991)]
33+
public void ThrowsArgumentOutOfRangeExceptionWhenNumberIsNegative(int number)
34+
{
35+
Assert.Throws<ArgumentOutOfRangeException>(() => new TaskAttribute(number));
36+
}
37+
}
38+
}

tests/Exercism.Tests.Tests/UnitTest1.cs

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)