Skip to content

Commit

Permalink
Merge pull request OpenZeppelin#477 from facuspagnuolo/feaure/create_…
Browse files Browse the repository at this point in the history
…detailed_erc20_interface

Create detailed ERC20 interface
  • Loading branch information
frangio committed Nov 13, 2017
2 parents 51cae6b + bf17b00 commit 93100e3
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
15 changes: 15 additions & 0 deletions contracts/token/DetailedERC20.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
pragma solidity ^0.4.11;

import './ERC20.sol';

contract DetailedERC20 is ERC20 {
string public name;
string public symbol;
uint8 public decimals;

function DetailedERC20(string _name, string _symbol, uint8 _decimals) {
name = _name;
symbol = _symbol;
decimals = _decimals;
}
}
35 changes: 35 additions & 0 deletions test/DetailedERC20.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
const BigNumber = web3.BigNumber;

require('chai')
.use(require('chai-as-promised'))
.use(require('chai-bignumber')(BigNumber))
.should();

const DetailedERC20Mock = artifacts.require('./helpers/DetailedERC20Mock.sol');

contract('DetailedERC20', accounts => {
let detailedERC20 = null;

const _name = "My Detailed ERC20";
const _symbol = "MDT";
const _decimals = 18;

beforeEach(async function() {
detailedERC20 = await DetailedERC20Mock.new(_name, _symbol, _decimals);
});

it('has a name', async function () {
const name = await detailedERC20.name();
name.should.be.equal(_name);
});

it('has a symbol', async function () {
const symbol = await detailedERC20.symbol();
symbol.should.be.equal(_symbol);
});

it('has an amount of decimals', async function () {
const decimals = await detailedERC20.decimals();
decimals.should.be.bignumber.equal(_decimals)
});
});
8 changes: 8 additions & 0 deletions test/helpers/DetailedERC20Mock.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
pragma solidity ^0.4.11;

import '../../contracts/token/StandardToken.sol';
import '../../contracts/token/DetailedERC20.sol';

contract DetailedERC20Mock is StandardToken, DetailedERC20 {
function DetailedERC20Mock(string _name, string _symbol, uint8 _decimals) DetailedERC20(_name, _symbol, _decimals) {}
}

0 comments on commit 93100e3

Please sign in to comment.