Пример #1
0
        public void DeserializeAndSerialize()
        {
            var test = new RecoveryMessage.ChangeViewPayloadCompact()
            {
                Timestamp = 1, ValidatorIndex = 2, InvocationScript = new byte[] { 1, 2, 3 }, OriginalViewNumber = 3
            };
            var clone = test.ToArray().AsSerializable <RecoveryMessage.ChangeViewPayloadCompact>();

            Assert.AreEqual(test.Timestamp, clone.Timestamp);
            Assert.AreEqual(test.ValidatorIndex, clone.ValidatorIndex);
            Assert.AreEqual(test.OriginalViewNumber, clone.OriginalViewNumber);
            CollectionAssert.AreEqual(test.InvocationScript, clone.InvocationScript);

            clone = RecoveryMessage.ChangeViewPayloadCompact.FromPayload(new ConsensusPayload()
            {
                Data = new ChangeView()
                {
                    Timestamp = 1, ViewNumber = 3
                }.ToArray(),
                ValidatorIndex = 2,
                Witness        = new Witness()
                {
                    InvocationScript = new byte[] { 1, 2, 3 }
                }
            });

            Assert.AreEqual(test.Timestamp, clone.Timestamp);
            Assert.AreEqual(test.ValidatorIndex, clone.ValidatorIndex);
            Assert.AreEqual(test.OriginalViewNumber, clone.OriginalViewNumber);
            CollectionAssert.AreEqual(test.InvocationScript, clone.InvocationScript);
        }
Пример #2
0
        public void Size_Get()
        {
            var test = new RecoveryMessage.ChangeViewPayloadCompact()
            {
                Timestamp = 1, ValidatorIndex = 1, InvocationScript = new byte[0], OriginalViewNumber = 1
            };

            ((ISerializable)test).Size.Should().Be(11);

            test = new RecoveryMessage.ChangeViewPayloadCompact()
            {
                Timestamp = 1, ValidatorIndex = 1, InvocationScript = new byte[1024], OriginalViewNumber = 1
            };
            ((ISerializable)test).Size.Should().Be(1037);
        }