public void Found() { var bitswap = new Bitswap { Swarm = new Swarm { LocalPeer = self } }; Assert.AreEqual(0, bitswap.PeerWants(self.Id).Count()); var a = new DagNode(Encoding.UTF8.GetBytes("BitswapTest found block a")); var b = new DagNode(Encoding.UTF8.GetBytes("BitswapTest found block b")); var cancel = new CancellationTokenSource(); var task = bitswap.Want(a.Id, self.Id, cancel.Token); Assert.IsFalse(task.IsCompleted); CollectionAssert.Contains(bitswap.PeerWants(self.Id).ToArray(), a.Id); bitswap.Found(b); Assert.IsFalse(task.IsCompleted); CollectionAssert.Contains(bitswap.PeerWants(self.Id).ToArray(), a.Id); bitswap.Found(a); Assert.IsTrue(task.IsCompleted); CollectionAssert.DoesNotContain(bitswap.PeerWants(self.Id).ToArray(), a.Id); CollectionAssert.AreEqual(a.DataBytes, task.Result.DataBytes); }
public void Found_Count() { var bitswap = new Bitswap { Swarm = new Swarm { LocalPeer = self } }; var a = new DagNode(Encoding.UTF8.GetBytes("BitswapTest found block a")); Assert.AreEqual(0, bitswap.Found(a)); var cancel = new CancellationTokenSource(); var task1 = bitswap.Want(a.Id, self.Id, cancel.Token); var task2 = bitswap.Want(a.Id, self.Id, cancel.Token); Assert.AreEqual(2, bitswap.Found(a)); Assert.IsTrue(task1.IsCompleted); Assert.IsTrue(task2.IsCompleted); }