예제 #1
0
파일: Tests.cs 프로젝트: vinils/ScroogeCoin
        public static void GoofyCreateAndTansferCoin_SouldHaveValidCoin()
        {
            //Arrange
            var goofySignature = new Signature(256);
            Global.GoofyPk = goofySignature.PublicKey;

            var destiny = new Signature(256);
            var goofyTransInfo = new TransferInfoCreateCoin(destiny.PublicKey, Counter.Coin);
            var transHashed = new TransferHashed(goofyTransInfo);
            var goofyList = new TransferListCreateCoin(transHashed);

            //Act
            var trans = new Transfers(transHashed, goofyList);

            //Assert
            try
            {
                if (!trans.isChainNotNull())
                    throw new Exception("Transfer chain be informed.");

                if (!trans.isInfoNotNull())
                    throw new Exception("Transfer informations must be informed.");

                if (!((TransferInfoCreateCoin)trans.Info).isValidCoinId())
                    throw new Exception("Coin id greater than 0.");

                if (!((TransferInfoCreateCoin)trans.Info).isDestinyPkNotNull())
                    throw new Exception("Destiny public key must be informed.");

                if (!trans.isHashNotNull())
                    throw new Exception("Transfer hash must be informed.");

                if (!trans.isValidHash())
                    throw new Exception("Invalid transfer hash.");

                //valid virtua method + all the balidations above
                trans.CheckTransfer();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
예제 #2
0
 public TransferListCreateCoin(TransferHashed trans)
     : base(null, trans)
 {
 }
예제 #3
0
 public Boolean isValidSignedMsg(TransferHashed message)
 {
     return isValidSignedMsg(message.Hash);
 }
예제 #4
0
 public SignedMessage SignMessage(TransferHashed transfer)
 {
     return SignMessage(transfer.Hash);
 }
예제 #5
0
 public virtual Boolean isValidSignedMsg(TransferHashed previous)
 {
     return info.PreviousTransSignedByMe.isValidSignedMsg(previous);
 }