public void EitherRightSerialization() { EitherRight <int> either = new EitherRight <int>(25); EitherRight <int> deserializedEither = SerializeAndDeserialize(either); CheckEitherRight(deserializedEither, 25); }
public void RightShouldSucceed() { // Arrange var value = "value"; // Act EitherRight <string> right = Right <string>(value); // Assert right.ToString().Should().Be("Right(value)"); }
public void EqualsObjectShouldReturnFalseWhenFirstValueNull() { // Arrange var first = new EitherRight <string>(null); var second = new EitherRight <string>("value"); // Act var result = Equals(first, second); // Assert result.Should().BeFalse(); }
public void EqualsObjectShouldReturnFalseWhenDifferentTypes() { // Arrange var first = new EitherRight <string>("1"); var second = new EitherRight <int>(1); // Act var result = Equals(first, second); // Assert result.Should().BeFalse(); }
public void EqualsObjectShouldReturnFalseWhenSameTypeAndDifferentValues() { // Arrange var first = new EitherRight <string>("value1"); var second = new EitherRight <string>("value2"); // Act var result = Equals(first, second); // Assert result.Should().BeFalse(); }
public void EqualsObjectShouldReturnTrueWhenBothValueSameNotNull() { // Arrange var first = new EitherRight <string>("value"); var second = new EitherRight <string>("value"); // Act var result = Equals(first, second); // Assert result.Should().BeTrue(); }
public void CtorShouldSetCorrectValue() { // Arrange var value = "right"; var eitherRight = new EitherRight <string>(value); // Act var result = eitherRight.Value; // Assert result.Should().Be(value); }
public void EqualsEitherLeftShouldReturnFalseWhenSecondValueNull() { // Arrange var first = new EitherRight <string>("value"); var second = new EitherRight <string>(null); // Act var result = first.Equals(second); // Assert result.Should().BeFalse(); }
public void EqualsEitherRightShouldReturnFalse() { // Arrange var first = new EitherRight <string>("value1"); var second = new EitherRight <string>("value2"); // Act var result = first.Equals(second); // Assert result.Should().BeFalse(); }
public void ImplicitOperatorOverloadingShouldSucceedWithEitherRight() { // Arrange var value = 1; var eitherRight = new EitherRight <int>(value); // Act Either <string, int> either = eitherRight; var result = either.ToString(); // Assert result.Should().Be("Right(1)"); }
public void ToStringShouldProvideExpectedRepresentation() { // Arrange var value = "right"; var expectedResult = $"Right({value})"; var eitherRight = new EitherRight <string>(value); // Act var result = eitherRight.ToString(); // Assert result.Should().Be(expectedResult); }
public static void CheckEitherRight <TRight>(EitherRight <TRight> either, [NotNull] TRight expectedValue) { Assert.IsFalse(either.IsLeft); Assert.IsTrue(either.IsRight); Assert.AreEqual(expectedValue, either.Value); }