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++; }); }
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++; }); }
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++; }); }
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++; }); }