public void OpEquality()
        {
            var leftEither  = LeftRightExtensions.AsRight <int, string>("12");
            var rightEither = LeftRightExtensions.AsRight <int, string>("12");

            (leftEither == rightEither).Should().BeTrue();
        }
        public void OpInEquality()
        {
            object leftEither  = LeftRightExtensions.AsLeft <int, string>(12);
            object rightEither = LeftRightExtensions.AsRight <int, string>("12");

            // ReSharper disable once ConditionIsAlwaysTrueOrFalse
            (leftEither != rightEither).Should().BeTrue();
        }
        public void OpEqualityReferenceType()
        {
            var list = new List <string> {
                "1", "2"
            };
            var leftEither  = LeftRightExtensions.AsRight <int, List <string> >(list);
            var rightEither = LeftRightExtensions.AsRight <int, List <string> >(list);

            (leftEither == rightEither).Should().BeTrue();
        }
        public void OpInEqualityReferenceType()
        {
            var a = LeftRightExtensions.AsRight <int, List <string> >(new List <string> {
                "1", "2"
            });
            var b = LeftRightExtensions.AsRight <int, List <string> >(new List <string> {
                "1", "2"
            });

            (a != b).Should().BeTrue();
        }
        public void GetHashCodeReturnsHashCodeOfRightValue()
        {
            var rightEither = LeftRightExtensions.AsRight <int, string>("12");

            rightEither.GetHashCode().Should().Be("12".GetHashCode());
        }