public void CtorShouldSetCorrectValue() { // Arrange var value = "value"; // Act var result = new OptionSome <string>(value); // Assert result.Value.Should().Be(value); }
public void EqualsOptionSomeShouldReturnFalse() { // Arrange var first = new OptionSome <string>("value1"); var second = new OptionSome <string>("value2"); // Act var result = first.Equals(second); // Assert result.Should().BeFalse(); }
public void EqualsObjectShouldReturnTrue() { // Arrange var first = new OptionSome <string>("value"); var second = new OptionSome <string>("value"); // Act var result = Equals(first, second); // Assert result.Should().BeTrue(); }
public void EqualsOptionSomeShouldReturnFalse() { // Arrange OptionSome <int> optionSome = new OptionSome <int>(2); Option <int> option = Some(1); // Act var result = option.Equals(optionSome); // Assert result.Should().BeFalse(); }
public void ToStringShouldProvideExpectedRepresentation() { // Arrange var value = "value"; var expectedResult = $"Some({value})"; var optionSome = new OptionSome <string>(value); // Act var result = optionSome.ToString(); // Assert result.Should().Be(expectedResult); }
public void ImplicitOperatorOverloadingShouldSucceedWithOptionSome() { // Arrange var value = "value"; var optionSome = new OptionSome <string>(value); // Act Option <string> option = optionSome; var result = option.ToString(); // Assert result.Should().Be("Some(value)"); }