👔 Trim player names and update tests

pull/49/head
Alexis Drai 3 years ago
parent b65fe617bc
commit 33f390b074

@ -15,7 +15,7 @@ namespace Model
{ {
if (!String.IsNullOrWhiteSpace(value)) if (!String.IsNullOrWhiteSpace(value))
{ {
name = value; name = value.Trim();
} }
else throw new ArgumentException("player name may never be empty or null"); else throw new ArgumentException("player name may never be empty or null");
} }

@ -19,6 +19,19 @@ namespace Tests.Model_UTs
Assert.Equal("Alice", player.Name); Assert.Equal("Alice", player.Name);
} }
[Fact]
public void TestConstructorIfNameUntrimmedThenTrimmedName()
{
// Arrange
Player player;
// Act
player = new("Alice ");
// Assert
Assert.Equal("Alice", player.Name);
}
[Theory] [Theory]
[InlineData("")] [InlineData("")]
[InlineData(" ")] [InlineData(" ")]
@ -89,7 +102,7 @@ namespace Tests.Model_UTs
} }
[Fact] [Fact]
public void TestGoesThruIfObjIsPlayer() public void TestGoesThruToSecondMethodIfObjIsTypePlayer()
{ {
// Arrange // Arrange
Object p1; Object p1;
@ -121,8 +134,11 @@ namespace Tests.Model_UTs
Assert.False(p2.Equals(p1)); Assert.False(p2.Equals(p1));
} }
[Fact] [Theory]
public void TestEqualsTrueIfSameNameDifferentCase() [InlineData("devoN")]
[InlineData(" devon")]
[InlineData("deVon ")]
public void TestEqualsTrueIfSameNameDifferentCaseOrSpace(string name)
{ {
// Arrange // Arrange
Player p1; Player p1;
@ -130,7 +146,7 @@ namespace Tests.Model_UTs
// Act // Act
p1 = new("Devon"); p1 = new("Devon");
p2 = new("devoN"); p2 = new(name);
// Assert // Assert
Assert.True(p1.Equals(p2)); Assert.True(p1.Equals(p2));
@ -169,8 +185,12 @@ namespace Tests.Model_UTs
Assert.False(p2.GetHashCode().Equals(p1.GetHashCode())); Assert.False(p2.GetHashCode().Equals(p1.GetHashCode()));
} }
[Fact] [Theory]
public void TestSameHashTrueIfSameNameDifferentCase() [InlineData("devoN")]
[InlineData(" devon")]
[InlineData("DevoN ")]
[InlineData(" dEvoN ")]
public void TestSameHashTrueIfSameNameDifferentCase(string name)
{ {
// Arrange // Arrange
Player p1; Player p1;
@ -209,7 +229,7 @@ namespace Tests.Model_UTs
Player p2; Player p2;
// Act // Act
p1 = new("Elyse"); p1 = new(" Elyse ");
p2 = new(p1); p2 = new(p1);
// Assert // Assert

Loading…
Cancel
Save