public void TestSimpleJoin() { for (int i = 0; i < 8; i++) { Scheduler.WaitFor(Tangle.Set(i, i * 2)); } using (var otherTangle = new Tangle <int>(Scheduler, new SubStreamSource(Storage, "2_", false))) { var keys = new List <string>(); for (int i = 0; i < 8; i++) { var key = new String((char)('a' + i), 1); keys.Add(key); Scheduler.WaitFor(otherTangle.Set(key, i)); } var joinResult = Scheduler.WaitFor( otherTangle.Join( Tangle, keys, (leftValue) => leftValue ) ); for (int i = 0; i < 8; i++) { var item = joinResult[i]; Assert.AreEqual(i, item.Key); Assert.AreEqual(i * 2, item.Value); } } }
public void TestSelfJoin() { Scheduler.WaitFor(Tangle.Set(1, 2)); Scheduler.WaitFor(Tangle.Set(2, 8)); Scheduler.WaitFor(Tangle.Set(3, 4)); Scheduler.WaitFor(Tangle.Set(4, 16)); var joinResult = Scheduler.WaitFor(Tangle.Join(Tangle, new[] { 1, 3 }, (left) => left)); Assert.AreEqual(2, joinResult[0].Key); Assert.AreEqual(8, joinResult[0].Value); Assert.AreEqual(4, joinResult[1].Key); Assert.AreEqual(16, joinResult[1].Value); }
public void TestSimpleJoin() { for (int i = 0; i < 8; i++) Scheduler.WaitFor(Tangle.Set(i, i * 2)); using (var otherTangle = new Tangle<int>(Scheduler, new SubStreamSource(Storage, "2_", false))) { var keys = new List<string>(); for (int i = 0; i < 8; i++) { var key = new String((char)('a' + i), 1); keys.Add(key); Scheduler.WaitFor(otherTangle.Set(key, i)); } var joinResult = Scheduler.WaitFor( otherTangle.Join( Tangle, keys, (leftValue) => leftValue ) ); for (int i = 0; i < 8; i++) { var item = joinResult[i]; Assert.AreEqual(i, item.Key); Assert.AreEqual(i * 2, item.Value); } } }