public void EqualsTest3(string?inp1, string?inp2, bool expected) { var strip1 = new Strip(inp1, false); var strip2 = new Strip(inp2, false); Assert.AreEqual(expected, strip1.Equals(strip2)); // Test it twice!! Assert.AreEqual(expected, strip1.Equals(strip2)); Assert.AreEqual(expected, Strip.Equals(inp1, inp2, true)); if (expected) { int hashCode = strip1.GetHashCode(); Assert.AreEqual(hashCode, strip2.GetHashCode()); Assert.AreEqual(hashCode, strip1.GetHashCode()); } }