Skip to content

Commit 05997f5

Browse files
Add some Unit Tests for pipeline.
1 parent 85e6949 commit 05997f5

File tree

8 files changed

+224
-170
lines changed

8 files changed

+224
-170
lines changed

Riter.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1111
.gitignore = .gitignore
1212
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
1313
CONTRIBUTING.md = CONTRIBUTING.md
14+
.github\workflows\dotnet-desktop.yml = .github\workflows\dotnet-desktop.yml
1415
LICENSE = LICENSE
1516
README.md = README.md
1617
EndProjectSection

tests/Riter.Tests/Riter.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<ItemGroup>
1313
<PackageReference Include="FluentAssertions" Version="6.12.2" />
1414
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
15+
<PackageReference Include="Moq" Version="4.20.72" />
1516
<PackageReference Include="xunit" Version="2.9.2" />
1617
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
1718
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

tests/Riter.Tests/ViewModel/Handlers/DrawingHandlerTests.cs

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

tests/Riter.Tests/ViewModel/PaletteStateViewModelTests.cs

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

tests/Riter.Tests/ViewModel/RelayCommmandTests.cs

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
using Riter.ViewModel.StateHandlers;
2+
3+
namespace Riter.Tests.ViewModel.StateHandlers;
4+
public class ButtonSelectedStateHandlerTests
5+
{
6+
private readonly ButtonSelectedStateHandler _stateHandler;
7+
8+
public ButtonSelectedStateHandlerTests()
9+
{
10+
_stateHandler = new ButtonSelectedStateHandler();
11+
}
12+
13+
[Fact]
14+
public void Should_UpdateButtonSelectedName_When_SetButtonSelectedNameIsCalled()
15+
{
16+
var newButtonName = "NewButton";
17+
_stateHandler.SetButtonSelectedName(newButtonName);
18+
_stateHandler.ButtonSelectedName.Should().Be(newButtonName);
19+
}
20+
21+
[Fact]
22+
public void Should_ResetButtonSelectedNameToPrevious_When_ResetPreviousButtonIsCalled()
23+
{
24+
var initialButtonName = "InitialButton";
25+
var newButtonName = "NewButton";
26+
_stateHandler.SetButtonSelectedName(initialButtonName);
27+
_stateHandler.StoreCurrentButton();
28+
_stateHandler.SetButtonSelectedName(newButtonName);
29+
30+
_stateHandler.ResetPreviousButton();
31+
_stateHandler.ButtonSelectedName.Should().Be(initialButtonName);
32+
}
33+
34+
[Fact]
35+
public void Should_ClearPreviousButtonSelectedName_When_ResetPreviousButtonIsCalledTwice()
36+
{
37+
var initialButtonName = "InitialButton";
38+
_stateHandler.SetButtonSelectedName(initialButtonName);
39+
_stateHandler.StoreCurrentButton();
40+
_stateHandler.ResetPreviousButton();
41+
_stateHandler.ResetPreviousButton();
42+
_stateHandler.ButtonSelectedName.Should().Be(initialButtonName);
43+
}
44+
45+
[Fact]
46+
public void Should_StoreCurrentButtonSelectedName_When_StoreCurrentButtonIsCalled()
47+
{
48+
var initialButtonName = "InitialButton";
49+
_stateHandler.SetButtonSelectedName(initialButtonName);
50+
51+
_stateHandler.StoreCurrentButton();
52+
_stateHandler.SetButtonSelectedName("NewButton");
53+
_stateHandler.ResetPreviousButton();
54+
_stateHandler.ButtonSelectedName.Should().Be(initialButtonName);
55+
}
56+
57+
[Fact]
58+
public void Should_ResetArrowButtonSelectedName_When_ResetArrowButtonSelectedIsCalled()
59+
{
60+
var arrowButtonName = "ArrowButton";
61+
_stateHandler.SetArrowButtonSelected(arrowButtonName);
62+
63+
_stateHandler.ResetArrowButtonSelected();
64+
_stateHandler.ArrowButtonSelectedName.Should().BeNullOrEmpty();
65+
}
66+
67+
[Fact]
68+
public void Should_UpdateArrowButtonSelectedName_When_SetArrowButtonSelectedIsCalled()
69+
{
70+
var arrowButtonName = "ArrowButton";
71+
_stateHandler.SetArrowButtonSelected(arrowButtonName);
72+
_stateHandler.ArrowButtonSelectedName.Should().Be(arrowButtonName);
73+
}
74+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
using global::Riter.Core;
2+
using global::Riter.Core.Enum;
3+
using Moq;
4+
using Riter.ViewModel.StateHandlers;
5+
6+
namespace Riter.Tests.ViewModel.StateHandlers;
7+
8+
public class BrushSettingsStateHandlerTests
9+
{
10+
private readonly Mock<IButtonSelectedStateHandler> _mockButtonSelectedStateHandler;
11+
private readonly Mock<ISettingPanelStateHandler> _mockSettingPanelStateHandler;
12+
private readonly BrushSettingsStateHandler _brushSettingsStateHandler;
13+
14+
public BrushSettingsStateHandlerTests()
15+
{
16+
_mockButtonSelectedStateHandler = new Mock<IButtonSelectedStateHandler>();
17+
_mockSettingPanelStateHandler = new Mock<ISettingPanelStateHandler>();
18+
_brushSettingsStateHandler = new BrushSettingsStateHandler(
19+
_mockButtonSelectedStateHandler.Object,
20+
_mockSettingPanelStateHandler.Object
21+
);
22+
}
23+
24+
[Fact]
25+
public void Should_UpdateInkColorAndColorSelected_When_SetInkColorIsCalled()
26+
{
27+
28+
var newColor = "Red";
29+
_brushSettingsStateHandler.SetInkColor(newColor);
30+
31+
_brushSettingsStateHandler.InkColor.Should().Be(newColor);
32+
_brushSettingsStateHandler.ColorSelected.Should().Be(newColor);
33+
_mockButtonSelectedStateHandler.Verify(m => m.ResetPreviousButton(), Times.Exactly(2));
34+
_mockButtonSelectedStateHandler.Verify(m => m.ResetArrowButtonSelected(), Times.Exactly(2));
35+
_mockSettingPanelStateHandler.Verify(m => m.HideAllPanels(), Times.Exactly(2));
36+
}
37+
38+
[Fact]
39+
public void Should_UpdateInkColor_When_SetInkColorWithHotKeyIsCalled()
40+
{
41+
var color = InkColor.Red;
42+
_brushSettingsStateHandler.SetInkColorWithHotKey(color);
43+
_brushSettingsStateHandler.InkColor.Should().Be(ColorPalette.Colors[color].Hex);
44+
}
45+
46+
[Fact]
47+
public void Should_UpdateSizeOfBrush_When_SetSizeOfBrushIsCalled()
48+
{
49+
var newSize = "5.0";
50+
_brushSettingsStateHandler.SetSizeOfBrush(newSize);
51+
52+
_brushSettingsStateHandler.SizeOfBrush.Should().Be(5.0);
53+
_mockButtonSelectedStateHandler.Verify(m => m.ResetPreviousButton(), Times.Exactly(2));
54+
_mockButtonSelectedStateHandler.Verify(m => m.ResetArrowButtonSelected(), Times.Exactly(2));
55+
_mockSettingPanelStateHandler.Verify(m => m.HideAllPanels(), Times.Exactly(2));
56+
}
57+
58+
[Fact]
59+
public void Should_UpdateSizeOfBrush_When_SetSizeOfBrushWithHotKeyIsCalled()
60+
{
61+
var newSize = BrushSize.X2;
62+
_brushSettingsStateHandler.SetSizeOfBrushWithHotKey(newSize);
63+
_brushSettingsStateHandler.SizeOfBrush.Should().Be((double)newSize);
64+
}
65+
}

0 commit comments

Comments
 (0)