예제 #1
0
        public async Task GetCandidateList_Success()
        {
            //no candidate
            {
                var candidates = await Starter.GetCandidatesListAsync();

                candidates.Values.Count.ShouldBe(0);
            }

            //with candidate
            {
                var candidateInformation = TestUserHelper.GenerateNewUser();
                await Starter.TransferTokenAsync(candidateInformation, DPoSContractConsts.LockTokenForElection);

                var balance = await Starter.GetBalanceAsync(candidateInformation);

                Assert.Equal(DPoSContractConsts.LockTokenForElection, balance);

                // The candidate announce election.
                var candidate = Starter.CreateNewContractTester(candidateInformation);
                await candidate.AnnounceElectionAsync("AElfin");

                //Assert
                var candidatesList = await candidate.GetCandidatesListAsync();

                candidatesList.Values.Count.ShouldBe(1);
            }
        }
예제 #2
0
        public async Task Announce_Election_Success()
        {
            // The starter transfer a specific amount of tokens to candidate for further testing.
            var candidateInformation = TestUserHelper.GenerateNewUser();
            await Starter.TransferTokenAsync(candidateInformation, DPoSContractConsts.LockTokenForElection);

            var balance = await Starter.GetBalanceAsync(candidateInformation);

            Assert.Equal(DPoSContractConsts.LockTokenForElection, balance);

            // The candidate announce election.
            var candidate = Starter.CreateNewContractTester(candidateInformation);
            var result    = await candidate.AnnounceElectionAsync("AElfin");

            var candidatesList = await candidate.GetCandidatesListAsync();

            // Check the candidates list.
            Assert.Contains(candidate.KeyPair.PublicKey.ToHex(), candidatesList.Values.ToList());
        }