1 from sim import Key, Simulator, load_serpent
2 from pyethereum.utils import coerce_to_bytes
4 class TestNumberedWorks(object):
6 ARTIST = Key('artist') # 8802b7f0bfa5e9f5825f2fc708e1ad00d2c2b5d6
7 BEHOLDER = Key('beholder') # 7e5188934964c0c267839653f7a49c879c2c8dfc
8 INDEX1001 = coerce_to_bytes(1001)
14 cls.code = load_serpent('serpent/numbered_works.se')
15 cls.sim = Simulator({cls.ARTIST.address: 10**18,
16 cls.BEHOLDER.address: 10**18})
18 def setup_method(self, method):
20 self.contract = self.sim.load_contract(self.ARTIST, self.code)
22 def test_initial_state(self):
23 # Get storage data only returns int...
24 assert self.sim.get_storage_data(self.contract, self.INDEX1001) == 1
26 def test_create_work(self):
28 response = self.sim.tx(self.BEHOLDER, self.contract, 0, data)
29 assert coerce_to_bytes(response[0]) == self.ARTWORK
30 assert response[1] == self.ARTWORK_NUMBER