GrpcCalculator/ServerTests/CalculatorTests.cs

72 lines
2.4 KiB
C#
Raw Permalink Normal View History

2024-02-08 17:18:38 +01:00
using GrpcCalculator.Server;
namespace GrpcCalculator.ServerTests;
public class CalculatorTests
{
[Fact]
public void SimpleAddition()
{
var calculator = new Calculator();
calculator = calculator.DigitPressed("5");
Assert.Equal("5", calculator.Display);
calculator = calculator.OperatorPressed(CalculatorOperator.Addition);
Assert.Equal("5", calculator.Display);
calculator = calculator.DigitPressed("4");
Assert.Equal("4", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("9", calculator.Display);
}
[Fact]
public void JustEquals()
{
var calculator = new Calculator();
Assert.Equal("0", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("0", calculator.Display);
}
[Fact]
public void MultipleEquals()
{
var calculator = new Calculator();
calculator = calculator.DigitPressed("2");
Assert.Equal("2", calculator.Display);
calculator = calculator.OperatorPressed(CalculatorOperator.Multiplication);
Assert.Equal("2", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("4", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("8", calculator.Display);
}
[Fact]
public void OperatorAfterEquals()
{
var calculator = new Calculator()
.DigitPressed("2")
.OperatorPressed(CalculatorOperator.Multiplication)
.DigitPressed("3")
.EqualsPressed();
Assert.Equal("6", calculator.Display);
calculator = calculator.OperatorPressed(CalculatorOperator.Addition);
Assert.Equal("6", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("12", calculator.Display);
}
2024-02-08 18:58:20 +01:00
[Fact]
public void EqualsAfterOperator()
{
var calculator = new Calculator()
.DigitPressed("3");
Assert.Equal("3", calculator.Display);
calculator = calculator.OperatorPressed(CalculatorOperator.Addition);
Assert.Equal("3", calculator.Display);
calculator = calculator.OperatorPressed(CalculatorOperator.Multiplication);
Assert.Equal("3", calculator.Display);
calculator = calculator.EqualsPressed();
Assert.Equal("9", calculator.Display);
}
2024-02-08 17:18:38 +01:00
}