Esempio n. 1
0
        public async Task ValidateConnectingFundNoMax()
        {
            //deploy a fund instance, but do no tests, that's something for the fund test suite
            Fund _FundContract;

            _FundContract = await Fund.New(_contract.ContractAddress, RpcClient);

            //connect fund
            var txParams = new TransactionParams {
                From = Accounts[0]
            };                                                           // admin
            await _contract.connectFund(_FundContract.ContractAddress).SendTransaction(txParams);

            //validate number of connected funds
            var numberOfConnectedFunds = await _contract.numberOfConnectedFunds().Call();

            Assert.AreEqual(1, numberOfConnectedFunds);

            //validate fund info
            var fundInfo = await _contract.funds(_FundContract.ContractAddress).Call();

            Assert.AreEqual(_FundContract.ContractAddress, fundInfo.fund);
            Assert.AreEqual(false, fundInfo.endPriceConditionsReached);
            Assert.AreEqual(0, fundInfo.endPrice); //default of 0 since it hasn't ended
            Assert.AreEqual(initPrice, fundInfo.strikePrice);

            var fundAddress = await _contract.getConnectedFundAddress(0).Call();

            Assert.AreEqual(_FundContract.ContractAddress, fundAddress);

            var hasFundEnded = await _contract.hasFundEnded(_FundContract.ContractAddress).Call();

            Assert.AreEqual(false, hasFundEnded);
        }