public void Can_handle_request_for_an_empty_witness()
        {
            Context context = new Context();

            context.WitProtocolHandler.Init();

            GetBlockWitnessHashesMessage           msg        = new GetBlockWitnessHashesMessage(5, Keccak.Zero);
            GetBlockWitnessHashesMessageSerializer serializer = new GetBlockWitnessHashesMessageSerializer();
            var serialized = serializer.Serialize(msg);

            context.WitProtocolHandler.HandleMessage(new Packet("wit", WitMessageCode.GetBlockWitnessHashes, serialized));
            context.SyncServer.Received().GetBlockWitnessHashes(Keccak.Zero);
        }
        public void Can_handle_request_for_a_non_empty_witness()
        {
            Context context = new Context();

            context.SyncServer.GetBlockWitnessHashes(Keccak.Zero)
            .Returns(new[] { TestItem.KeccakA, TestItem.KeccakB });

            context.WitProtocolHandler.Init();

            GetBlockWitnessHashesMessage           msg        = new GetBlockWitnessHashesMessage(5, Keccak.Zero);
            GetBlockWitnessHashesMessageSerializer serializer = new GetBlockWitnessHashesMessageSerializer();
            var serialized = serializer.Serialize(msg);

            context.WitProtocolHandler.HandleMessage(new Packet("wit", WitMessageCode.GetBlockWitnessHashes, serialized));
            context.Session.Received().DeliverMessage(
                Arg.Is <BlockWitnessHashesMessage>(msg => msg.Hashes.Length == 2));
        }