コード例 #1
0
ファイル: EitherFacts.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void cast1()
        {
            var exp    = new Obj("left");
            var either = Either <Obj, string> .OfLeft(exp);

            Assert.Equal(exp, (Obj)either);
        }
コード例 #2
0
        public static void Unfold0()
        {
            Func <int, (int, int)> generator = i => (i, i + 1);

            Assert.Throws <ArgumentNullException>("generator", () => Sequence.Unfold(0, default(Func <int, (int, int)>)));
            Assert.Throws <ArgumentNullException>("predicate", () => Sequence.Unfold(0, generator, null));
        }
コード例 #3
0
        public static void Unfold1()
        {
            Func <int, (int, int)> generator = _ => throw new InvalidOperationException();

            Assert.DoesNotThrow(() => Sequence.Unfold(0, generator));
            Assert.DoesNotThrow(() => Sequence.Unfold(0, generator, _ => true));
        }
コード例 #4
0
        public static void FromError1()
        {
            var nok = Fallible.FromError(Error);

            Assert.True(nok.IsError);
            Assert.False(nok.IsSuccess);
        }
コード例 #5
0
        public static void ToExceptionInfo2()
        {
            var nok    = Fallible.FromError(Error);
            var result = nok.ToExceptionInfo();

            Assert.Equal(Error, result);
        }
コード例 #6
0
        public static void Equality3()
        {
            var ok  = Fallible.Ok;
            var nok = Fallible.FromError(Error);

            Assert.True(nok != ok);
        }
コード例 #7
0
        public static void GetHashCode2()
        {
            var nok1 = Fallible.FromError(Error);
            var nok2 = Fallible.FromError(Error);

            Assert.Equal(nok1.GetHashCode(), nok2.GetHashCode());
        }
コード例 #8
0
        public static void cast2()
        {
            var nok    = Fallible.FromError(Error);
            var result = (ExceptionDispatchInfo)nok;

            Assert.Equal(Error, result);
        }
コード例 #9
0
        public static void GetHashCode3(string value1, string value2)
        {
            var parts1 = ParseFast(value1);
            var parts2 = ParseFast(value2);

            Assert.NotEqual(parts1.GetHashCode(), parts2.GetHashCode());
        }
コード例 #10
0
        public static void Equals3(string value1, string value2)
        {
            var parts1 = ParseFast(value1);
            var parts2 = ParseFast(value2);

            Assert.False(parts1.Equals(parts2));
        }
コード例 #11
0
ファイル: EitherFacts.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void cast3()
        {
            var exp    = new Obj("right");
            var either = Either <string, Obj> .OfRight(exp);

            Assert.Equal(exp, (Obj)either);
        }
コード例 #12
0
        public static void ValueOrThrow_ReturnsValue_IfSuccess()
        {
            var exp = new Obj();
            var ok  = Fallible.Of(exp);

            Assert.Same(exp, ok.ValueOrThrow());
        }
コード例 #13
0
        public static void Create1(string value, string bban)
        {
            var parts  = IbanParts.Parse(value).Value;
            var result = IbanParts.Create("FR", "34", bban);

            Assert.Equal(parts, result);
        }
コード例 #14
0
        public static void ToString7(string value, string formattedValue)
        {
            // NB: The format provider is always ignored.
            var result = ParseFast(value).ToString("G", null);

            Assert.Equal(formattedValue, result);
        }
コード例 #15
0
        public static void Build1(string value)
        {
            var iban   = Iban.Parse(value).Value;
            var result = Iban.Build(iban.CountryCode, iban.Bban);

            Assert.Equal(iban, result);
        }
コード例 #16
0
        public static void GetHashCode3(string value1, string value2)
        {
            var iban1 = ParseFast(value1);
            var iban2 = ParseFast(value2);

            Assert.NotEqual(iban1.GetHashCode(), iban2.GetHashCode());
        }
コード例 #17
0
        public static void Equals3(string value1, string value2)
        {
            var iban1 = ParseFast(value1);
            var iban2 = ParseFast(value2);

            Assert.False(iban1.Equals(iban2));
        }
コード例 #18
0
        public static void Parse6b()
        {
            var value = "IBAN AL47212110090000000235698741";

            Assert.NotNull(Iban.Parse(value, IbanStyles.AllowHeader));
            Assert.True(Iban.TryParse(value, IbanStyles.AllowHeader).IsSuccess);
        }
コード例 #19
0
        public static void Equals2(string value1, string value2)
        {
            var    parts1 = ParseFast(value1);
            object parts2 = ParseFast(value2);

            Assert.True(parts1.Equals(parts2));
        }
コード例 #20
0
        public static void Create1(string value)
        {
            var iban   = Iban.Parse(value).Value;
            var result = Iban.Create(iban.CountryCode, iban.CheckDigits, iban.Bban);

            Assert.Equal(iban, result);
        }
コード例 #21
0
        public static void Equals2(string value1, string value2)
        {
            var    iban1 = ParseFast(value1);
            object iban2 = ParseFast(value2);

            Assert.True(iban1.Equals(iban2));
        }
コード例 #22
0
        public static void ToString6(string value, string formattedValue)
        {
            var result1 = ParseFast(value).ToString("C");
            var result2 = ParseFast(value).ToString("c");

            Assert.Equal(value, result1);
            Assert.Equal(value, result2);
        }
コード例 #23
0
        public static void Equals7(string value)
        {
            var iban1 = ParseFast(value);
            var iban2 = ParseFast(value);
            var iban3 = ParseFast(value);

            Assert.Equal(iban1.Equals(iban2) && iban2.Equals(iban3), iban1.Equals(iban3));
        }
コード例 #24
0
ファイル: EitherFacts.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void ToString3()
        {
            var value  = new Obj("Value");
            var either = Either <Obj, Obj> .OfRight(value);

            Assert.Contains("Right", either.ToString(), StringComparison.OrdinalIgnoreCase);
            Assert.Contains(value.ToString(), either.ToString(), StringComparison.OrdinalIgnoreCase);
        }
コード例 #25
0
        public static void Equality2(string value1, string value2)
        {
            var iban1 = ParseFast(value1);
            var iban2 = ParseFast(value2);

            Assert.False(iban1 == iban2);
            Assert.True(iban1 != iban2);
        }
コード例 #26
0
        public static void CheckIntegrity1(string value, string expectedBban)
        {
            var iban = Iban.Parse(value, IbanStyles.None, IbanValidationLevels.None).Value;

            var result = Iban.CheckIntegrity(iban);

            Assert.False(result.HasValue);
        }
コード例 #27
0
        public static void Append1()
        {
            IEnumerable <int> source = new ThrowingEnumerable <int>();

            var q = Assert.DoesNotThrow(() => source.Append(1));

            Assert.ThrowsOnNext(q);
        }
コード例 #28
0
ファイル: CollectAny.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void CollectAny1a()
        {
            IEnumerable <Either <int, int> > source = new ThrowingEnumerable <Either <int, int> >();

            var q = Assert.DoesNotThrow(() => source.CollectAny());

            Assert.ThrowsOnNext(q);
        }
コード例 #29
0
ファイル: EitherFacts.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void RightOrNone1()
        {
            var either = Either <Obj, Obj> .OfLeft(new Obj("left"));

            var result = either.RightOrNone();

            Assert.True(result.IsNone);
        }
コード例 #30
0
ファイル: EitherFacts.cs プロジェクト: liuhonglei/Narvalo.NET
        public static void OfRight1()
        {
            var either = Either <Obj, Obj> .OfRight(new Obj("left"));

            Assert.NotNull(either);
            Assert.True(either.IsRight);
            Assert.False(either.IsLeft);
        }