Пример #1
0
        public void Can_handle_null()
        {
            BlockWitnessHashesMessageSerializer serializer = new BlockWitnessHashesMessageSerializer();
            BlockWitnessHashesMessage           message    = new BlockWitnessHashesMessage(1, null);

            byte[] serialized = serializer.Serialize(message);
            serialized[0].Should().Be(194);
            serializer.Deserialize(serialized);
        }
        public async Task Can_request_non_empty_witness()
        {
            Context context = new Context();
            BlockWitnessHashesMessage           msg        = new BlockWitnessHashesMessage(5, new[] { TestItem.KeccakA, TestItem.KeccakB });
            BlockWitnessHashesMessageSerializer serializer = new BlockWitnessHashesMessageSerializer();
            var serialized = serializer.Serialize(msg);

            context.WitProtocolHandler.Init();


            context.Session
            // check if you did not enable the Init -> send message diag
            .When(s => s.DeliverMessage(
                      Arg.Is <GetBlockWitnessHashesMessage>(msg => msg.BlockHash == TestItem.KeccakA)))
            .Do(_ => context.WitProtocolHandler.HandleMessage(new Packet("wit", WitMessageCode.BlockWitnessHashes, serialized)));
            Task  result = context.WitProtocolHandler.GetBlockWitnessHashes(TestItem.KeccakA, CancellationToken.None);
            await result;

            result.Status.Should().Be(TaskStatus.RanToCompletion);
        }