Ejemplo n.º 1
0
        public void Range()
        {
            var i = 2;

            Observe.Range(2, 3)(set =>
            {
                if (i == 5)
                {
                    Assert.IsFalse(set.HasValue);
                }
                else
                {
                    Assert.AreEqual(i, set.Value);
                }

                i++;
            });
        }
Ejemplo n.º 2
0
        public void SelectMany()
        {
            int i = 0;

            Observe.Range(0, 2).SelectMany(t => Observe.Range(0, 2))(
                result =>
            {
                if (i == 4)
                {
                    Assert.IsFalse(result.HasValue);
                }
                else
                {
                    Assert.AreEqual(i % 2, result.Value);
                }

                i++;
            });
        }
Ejemplo n.º 3
0
        public void Concat()
        {
            int i        = 0;
            var sequence = Observe.Range(0, 2).Concat(Observe.Range(2, 2));

            sequence(
                set =>
            {
                if (i == 4)
                {
                    Assert.IsFalse(set.HasValue);
                }
                else
                {
                    Assert.AreEqual(i, set.Value);
                }

                i++;
            });
        }
Ejemplo n.º 4
0
        public void LinqSelectMany()
        {
            int i = 0;

            (from a in Observe.Range(0, 2)
             from b in Observe.Range(0, 2)
             select a + b)(result =>
            {
                if (i == 4)
                {
                    Assert.IsFalse(result.HasValue);
                }
                else
                {
                    switch (i)
                    {
                    case 0:
                        Assert.AreEqual(0, result.Value);
                        break;

                    case 1:
                        Assert.AreEqual(1, result.Value);
                        break;

                    case 2:
                        Assert.AreEqual(1, result.Value);
                        break;

                    case 3:
                        Assert.AreEqual(2, result.Value);
                        break;
                    }
                }

                i++;
            });
        }