public async Task GetCandidates_Success() { //no candidate { var candidates = await Starter.GetCandidatesAsync(); candidates.PublicKeys.Count.ShouldBe(0); candidates.Addresses.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 candidates = await candidate.GetCandidatesAsync(); candidates.PublicKeys.Count.ShouldBe(1); candidates.Addresses.Count.ShouldBe(1); candidates.IsInitialMiners.ShouldBeFalse(); } }