BitSharp.Core.Test.Builders.UnconfirmedTxesBuilderTest.TestUnconfTxMissingPrevOutput C# (CSharp) Метод

TestUnconfTxMissingPrevOutput() приватный Метод

private TestUnconfTxMissingPrevOutput ( ) : void
Результат void
        public void TestUnconfTxMissingPrevOutput()
        {
            // create tx spending a previous output that doesn't exist
            var decodedTx = Transaction.Create(
                0,
                ImmutableArray.Create(new TxInput(UInt256.One, 0, ImmutableArray<byte>.Empty, 0)),
                ImmutableArray.Create(new TxOutput(0, ImmutableArray<byte>.Empty)),
                0);
            var tx = decodedTx.Transaction;

            // mock empty chain state
            var chainState = new Mock<IChainState>();

            // mock core daemon for chain state retrieval
            var coreDaemon = new Mock<ICoreDaemon>();
            coreDaemon.Setup(x => x.GetChainState()).Returns(chainState.Object);

            using (var unconfirmedTxesBuilder = new UnconfirmedTxesBuilder(coreDaemon.Object, Mock.Of<ICoreStorage>(), storageManager))
            {
                // try to add the tx
                Assert.IsFalse(unconfirmedTxesBuilder.TryAddTransaction(decodedTx));

                // verify unconfirmed tx was not added
                UnconfirmedTx unconfirmedTx;
                Assert.IsFalse(unconfirmedTxesBuilder.TryGetTransaction(tx.Hash, out unconfirmedTx));
                Assert.IsNull(unconfirmedTx);

                // verify tx is not indexed against its input
                Assert.AreEqual(0, unconfirmedTxesBuilder.GetTransactionsSpending(tx.Inputs[0].PrevTxOutputKey).Count);
            }
        }