public void TryParseTest(string input, bool isOk, HashSet <string> expected) { var actualInstance = new StringSet(new List <string>()).TryParse(input); var actualExtension = Read.TryParse(new StringSet(Array.Empty <string>()), input); var actualUnsafe = Read.TryParseUnsafe <StringSet>(input); if (!isOk) { Assert.False(actualInstance.HasValue); Assert.False(actualExtension.HasValue); Assert.False(actualUnsafe.HasValue); } else { var actualInstanceValue = actualInstance.Value(); var actualExtensionValue = actualExtension.Value(); var actualUnsafeValue = actualUnsafe.Value(); Assert.Equal(expected, actualInstanceValue.Value); Assert.Equal(expected, actualExtensionValue.Value); Assert.Equal(expected, actualUnsafeValue.Value); } }