diff options
Diffstat (limited to 'NUnitTestProject1')
-rw-r--r-- | NUnitTestProject1/Auxiliary/Calculator/StringSolverTests.cs | 105 | ||||
-rw-r--r-- | NUnitTestProject1/Auxiliary/DiceTests.cs | 71 | ||||
-rw-r--r-- | NUnitTestProject1/NUnitTest.csproj | 20 |
3 files changed, 196 insertions, 0 deletions
diff --git a/NUnitTestProject1/Auxiliary/Calculator/StringSolverTests.cs b/NUnitTestProject1/Auxiliary/Calculator/StringSolverTests.cs new file mode 100644 index 0000000..998a78b --- /dev/null +++ b/NUnitTestProject1/Auxiliary/Calculator/StringSolverTests.cs @@ -0,0 +1,105 @@ +using DSALib.Auxiliary.Calculator; +using Moq; +using NUnit.Framework; + +namespace NUnitTest.Auxiliary.Calculator +{ + [TestFixture] + public class StringSolverTests + { + private MockRepository mockRepository; + + + + [SetUp] + public void SetUp() + { + this.mockRepository = new MockRepository(MockBehavior.Strict); + + + } + + [TearDown] + public void TearDown() + { + this.mockRepository.VerifyAll(); + } + + private StringSolver CreateStringSolver(string input) + { + return new StringSolver(input); + } + + [Test] + public void Solve_StateUnderTest_ExpectedBehavior() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("1+1"); + + // Act + var result = unitUnderTest.Solve(); + + // Assert + Assert.AreEqual(2,result); + } + + [Test] + public void Solve_mult() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("1+1-4*6+2"); + + // Act + var result = unitUnderTest.Solve(); + + // Assert + Assert.AreEqual(-20, result); + } + + [Test] + public void Solve_braces() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("1+(1-4)*6+2"); + + // Act + var result = unitUnderTest.Solve(); + + // Assert + Assert.AreEqual(-15, result); + } + + [Test] + public void Solve_wrong_braces() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("1+)(1-4)*6+2"); + + // Act + Assert.Throws<System.ArgumentException>(() =>unitUnderTest.Solve(), "Invalid brace sequence"); + } + + [Test, MaxTime(200)] + public void Solve_braces_timeout() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("1+(1-(4)*6+2"); + + // Act + Assert.Throws<System.ArgumentException>(() => unitUnderTest.Solve(), "Invalid brace sequence"); + } + + [Test] + public void ToString_StateUnderTest_ExpectedBehavior() + { + // Arrange + var unitUnderTest = this.CreateStringSolver("3+-4"); + + // Act + var result = unitUnderTest.ToString(); + + // Assert + Assert.AreEqual("(0+3+-4)", result); + } + } +} diff --git a/NUnitTestProject1/Auxiliary/DiceTests.cs b/NUnitTestProject1/Auxiliary/DiceTests.cs new file mode 100644 index 0000000..6b37492 --- /dev/null +++ b/NUnitTestProject1/Auxiliary/DiceTests.cs @@ -0,0 +1,71 @@ +using DSALib.Auxiliary; +using Moq; +using NUnit.Framework; +using System; + +namespace NUnitTest.Auxiliary +{ + [TestFixture] + public class DiceTests + { + private MockRepository mockRepository; + + + + [SetUp] + public void SetUp() + { + this.mockRepository = new MockRepository(MockBehavior.Strict); + + + } + + [TearDown] + public void TearDown() + { + this.mockRepository.VerifyAll(); + } + + private void CreateDice() + {} + + [Test] + public void Roll_StateUnderTest_ExpectedBehavior() + { + // Arrange + int d = 20; + + // Act + var result = Dice.Roll(d); + + // Assert + Assert.True(result > 0 && result < d+1); + } + + [Test] + public void Roll_StateUnderTest_ExpectedBehavior1() + { + // Arrange + string input = "w"; + + // Act + Assert.Throws<ArgumentException>( () => Dice.Roll(input)); + } + + [Test] + public void Roll_zero_dice() + { + // Arrange + int count = 0; + int d = 2; + + // Act + var result = Dice.Roll( + count, + d); + + // Assert + Assert.AreEqual(0, result); + } + } +} diff --git a/NUnitTestProject1/NUnitTest.csproj b/NUnitTestProject1/NUnitTest.csproj new file mode 100644 index 0000000..7b3b1ea --- /dev/null +++ b/NUnitTestProject1/NUnitTest.csproj @@ -0,0 +1,20 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>netcoreapp2.2</TargetFramework> + + <IsPackable>false</IsPackable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Moq" Version="4.5.28" /> + <PackageReference Include="nunit" Version="3.11.0" /> + <PackageReference Include="NUnit3TestAdapter" Version="3.11.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\DSALib\DSALib.csproj" /> + </ItemGroup> + +</Project> |