Created
August 5, 2024 19:25
-
-
Save joeizang/1a50e645ab7bb63672c4f1524595d555 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.26+commit.8a97fa7a.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
import "remix_tests.sol"; // this import is automatically injected by Remix. | |
import "hardhat/console.sol"; | |
import "../contracts/3_Ballot.sol"; | |
contract BallotTest { | |
bytes32[] proposalNames; | |
Ballot ballotToTest; | |
function beforeAll () public { | |
proposalNames.push(bytes32("candidate1")); | |
ballotToTest = new Ballot(proposalNames); | |
} | |
function checkWinningProposal () public { | |
console.log("Running checkWinningProposal"); | |
ballotToTest.vote(0); | |
Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); | |
Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); | |
} | |
function checkWinninProposalWithReturnValue () public view returns (bool) { | |
return ballotToTest.winningProposal() == 0; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* eslint-disable no-undef */ | |
// Right click on the script name and hit "Run" to execute | |
const { expect } = require("chai"); | |
const { ethers } = require("hardhat"); | |
describe("Storage", function () { | |
it("test initial value", async function () { | |
const Storage = await ethers.getContractFactory("Storage"); | |
const storage = await Storage.deploy(); | |
await storage.deployed(); | |
console.log("storage deployed at:" + storage.address); | |
expect((await storage.retrieve()).toNumber()).to.equal(0); | |
}); | |
it("test updating and retrieving updated value", async function () { | |
const Storage = await ethers.getContractFactory("Storage"); | |
const storage = await Storage.deploy(); | |
await storage.deployed(); | |
const storage2 = await ethers.getContractAt("Storage", storage.address); | |
const setValue = await storage2.store(56); | |
await setValue.wait(); | |
expect((await storage2.retrieve()).toNumber()).to.equal(56); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment