public void TestGetAllAssetAddressesReturnsValidData() { using (var memoryState = new KeokenMemoryState()) using (var address_source = new PaymentAddress("16TGufqQ9FPnEbixbD4ZjVabaP455roE6t")) using (var address_target = new PaymentAddress("my2dxGb5jz43ktwGxg2doUaEb9WhZ9PQ7K")) { byte[] hash = Binary.HexStringToByteArray("000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"); memoryState.InitialAssetId = 5; memoryState.CreateAsset("test asset", 15, address_source, 10, hash); memoryState.CreateAsset("test asset2", 999, address_source, 10, hash); memoryState.CreateBalanceEntry(5, 15, address_source, address_target, 5, hash); using (var ret = memoryState.GetAllAssetAddresses()) { Assert.Equal <ulong>(3, ret.Count); foreach (GetAllAssetsAddressesData data in ret) { if (data.AssetId == 5) { if (data.AmountOwner.Encoded == address_target.Encoded) { Assert.Equal(15, data.Amount); Assert.Equal("test asset", data.AssetName); Assert.Equal(address_source.Encoded, data.AssetCreator.Encoded); } else { Assert.Equal(0, data.Amount); Assert.Equal("test asset", data.AssetName); Assert.Equal(address_source.Encoded, data.AssetCreator.Encoded); Assert.Equal(address_source.Encoded, data.AmountOwner.Encoded); } } else { Assert.Equal <ulong>(6, data.AssetId); Assert.Equal(999, data.Amount); Assert.Equal("test asset2", data.AssetName); Assert.Equal(address_source.Encoded, data.AssetCreator.Encoded); Assert.Equal(address_source.Encoded, data.AmountOwner.Encoded); } } } } }