public void UpdateBestSentHeader_IsSetIfChainProlonged()
        {
            ConsensusManagerBehavior behavior = this.helper.CreateAndAttachBehavior(this.headers[20], null, this.headers[10]);

            behavior.UpdateBestSentHeader(this.headers[15]);

            Assert.Equal(this.headers[15], behavior.BestSentHeader);
        }
        public void UpdateBestSentHeader_ChangesIfPreviousValueWasNull()
        {
            ConsensusManagerBehavior behavior = this.helper.CreateAndAttachBehavior(this.headers[20]);

            behavior.UpdateBestSentHeader(this.headers[10]);

            Assert.Equal(this.headers[10], behavior.BestSentHeader);
        }
        public void UpdateBestSentHeader_DoesntChangeIfCalledWithAncestor()
        {
            ConsensusManagerBehavior behavior = this.helper.CreateAndAttachBehavior(this.headers[20], null, this.headers[10]);

            behavior.UpdateBestSentHeader(this.headers[5]);

            Assert.Equal(this.headers[10], behavior.BestSentHeader);
        }
        public void UpdateBestSentHeader_DoesntChangeIfArgumentIsNull()
        {
            ConsensusManagerBehavior behavior = this.helper.CreateAndAttachBehavior(this.headers[20], null, this.headers[10]);

            behavior.UpdateBestSentHeader(null);

            Assert.Equal(this.headers[10], behavior.BestSentHeader);
        }
        public void UpdateBestSentHeader_ChangedIfHeaderIsOnFork()
        {
            ConsensusManagerBehavior behavior = this.helper.CreateAndAttachBehavior(this.headers[20], null, this.headers[10]);

            ChainedHeader headerOnChainB = ChainedHeadersHelper.CreateConsecutiveHeaders(7, this.headers[8]).Last();

            behavior.UpdateBestSentHeader(headerOnChainB);

            Assert.Equal(headerOnChainB, behavior.BestSentHeader);
        }