def test_asset_state(self): input = binascii.unhexlify(self.assset) asset = AssetState.DeserializeFromDB(input) self.assertEqual(asset.GetName(), 'NEOGas') self.assertEqual(asset.AssetId.ToBytes(), self.assetkey) self.assertEqual(asset.Precision, 8) self.assertEqual(asset.Admin.ToBytes(), b'68ebfc4fefbe24c9cff0f7e3c0d27ed396d07f9f') self.assertEqual(asset.Issuer.ToBytes(), b'68ebfc4fefbe24c9cff0f7e3c0d27ed396d07f9f') self.assertEqual(asset.IsFrozen, False) self.assertTrue(asset.Owner.IsInfinity) self.assertIsNotNone(asset.ToJson())
def test_account_2(self): hash = UInt160(data=self.ac2_h) account2 = AccountState(script_hash=hash) addr = account2.Address self.assertEqual(addr, self.ac2_a) input = binascii.unhexlify(self.assset) asset = AssetState.DeserializeFromDB(input) account2.AddToBalance(asset.AssetId, Fixed8(97800000000)) # print("account 2 %s " % json.dumps(account2.ToJson(), indent=4)) self.assertEqual(account2.BalanceFor(asset.AssetId), Fixed8(97800000000)) input = binascii.unhexlify(self.ac1_out) account1 = AccountState.DeserializeFromDB(input)
def test_account_state(self): hash = UInt160(data=self.shash) account = AccountState(script_hash=hash) addr = account.Address self.assertEqual(addr, self.saddr) input = binascii.unhexlify(self.assset) asset = AssetState.DeserializeFromDB(input) account.AddToBalance(asset.AssetId, Fixed8(2440000000)) self.assertEqual(account.BalanceFor(asset.AssetId), Fixed8(2440000000)) account.SubtractFromBalance(asset.AssetId, Fixed8(1220000000)) self.assertEqual(account.BalanceFor(asset.AssetId), Fixed8(1220000000)) self.assertEqual(account.HasBalance(asset.AssetId), True) sshare_hash = Blockchain.SystemShare().Hash account.SubtractFromBalance(sshare_hash, Fixed8(800000000)) self.assertFalse(account.AllBalancesZeroOrLess()) acct_json = account.ToJson() stream = StreamManager.GetStream() writer = BinaryWriter(stream) account.Serialize(writer) out = stream.ToArray() StreamManager.ReleaseStream(stream) input = binascii.unhexlify(out) newaccount = AccountState.DeserializeFromDB(input) self.assertEqual(acct_json, newaccount.ToJson())