public async Task GetNamespaceMosaics()
        {
            var        mosaicInfos = await new NamespaceMosaicHttp(host).GetNamespaceMosaics(NS);
            MosaicInfo mosaicInfo  = mosaicInfos[0];

            Assert.AreEqual(PUBKEY, mosaicInfo.CreatorPubKey);
            Assert.AreEqual("london:stock", mosaicInfo.FullName());
            Assert.IsNull(mosaicInfo.Levy);
            Assert.IsTrue(mosaicInfo.Properties.Mutable);
            Assert.IsTrue(mosaicInfo.Properties.Transferable);
        }
        public void AssertOnMosaicDefinition(Address addr, MosaicInfo mosaicInfo)
        {
            const string M1 = "myspace:subspace";
            const string M2 = "myspace:subspacewithlevy";
            const string M3 = "nis1porttest:test";


            Debug.WriteLine(string.Format("AssertOnMosaicDefinition: MosaicDefinition received for mosaic '{0}', owned by {1}", mosaicInfo.FullName(), addr.Pretty));
            //AssertOnMosaicDefinition: MosaicDefinition received for mosaic '{"mosaicDefinition":{"creator":"7b1a93132b8c5b8001a07f973307bee2b37bcd6dc279a59ea98179b238d44e2d","description":"new mosaic test","id":{"namespaceId":"myspace","name":"subspace"},"properties":[{"name":"divisibility","value":"4"},{"name":"initialSupply","value":"1000000000"},{"name":"supplyMutable","value":"true"},{"name":"transferable","value":"true"}],"levy":{}},"supply":1000100000}', owned by TCTUIF - 557ZCQ - OQPW2M - 6GH4TC - DPM2ZY - BBL54K - GNHR
            //AssertOnMosaicDefinition: MosaicDefinition received for mosaic '{"mosaicDefinition":{"creator":"7b1a93132b8c5b8001a07f973307bee2b37bcd6dc279a59ea98179b238d44e2d","description":"test","id":{"namespaceId":"nis1porttest","name":"test"},"properties":[{"name":"divisibility","value":"6"},{"name":"initialSupply","value":"100000"},{"name":"supplyMutable","value":"true"},{"name":"transferable","value":"true"}],"levy":{}},"supply":100000}', owned by TCTUIF - 557ZCQ - OQPW2M - 6GH4TC - DPM2ZY - BBL54K - GNHR
            //AssertOnMosaicDefinition: MosaicDefinition received for mosaic '{"mosaicDefinition":{"creator":"3e82e1c1e4a75adaa3cba8c101c3cd31d9817a2eb966eb3b511fb2ed45b8e262","description":"reserved xem mosaic","id":{"namespaceId":"nem","name":"xem"},"properties":[{"name":"divisibility","value":"6"},{"name":"initialSupply","value":"8999999999"},{"name":"supplyMutable","value":"false"},{"name":"transferable","value":"true"}],"levy":{}},"supply":8999999999}', owned by TCTUIF - 557ZCQ - OQPW2M - 6GH4TC - DPM2ZY - BBL54K - GNHR
            //AssertOnMosaicDefinition: MosaicDefinition received for mosaic '{"mosaicDefinition":{"creator":"7b1a93132b8c5b8001a07f973307bee2b37bcd6dc279a59ea98179b238d44e2d","description":"new mosaic test","id":{"namespaceId":"myspace","name":"subspacewithlevy"},"properties":[{"name":"divisibility","value":"4"},{"name":"initialSupply","value":"1000000000"},{"name":"supplyMutable","value":"true"},{"name":"transferable","value":"true"}],"levy":{"fee":100,"recipient":"TCTUIF557ZCQOQPW2M6GH4TCDPM2ZYBBL54KGNHR","type":1,"mosaicId":{"namespaceId":"myspace","name":"subspace"}}},"supply":1000000000}', owned by TCTUIF - 557ZCQ - OQPW2M - 6GH4TC - DPM2ZY - BBL54K - GNHR

            switch (mosaicInfo.FullName())
            {
            case MosaicId.XEMfullName:
                Assert.AreEqual("3e82e1c1e4a75adaa3cba8c101c3cd31d9817a2eb966eb3b511fb2ed45b8e262", mosaicInfo.CreatorPubKey);
                Assert.AreEqual("reserved xem mosaic", mosaicInfo.Description);
                Assert.AreEqual(MosaicInfo.Xem.Properties.Divisibility, mosaicInfo.Properties.Divisibility);
                Assert.AreEqual(MosaicInfo.Xem.Properties.InitialSupply, mosaicInfo.Properties.InitialSupply);
                Assert.AreEqual(MosaicInfo.Xem.Properties.Mutable, mosaicInfo.Properties.Mutable);
                Assert.AreEqual(MosaicInfo.Xem.Properties.Transferable, mosaicInfo.Properties.Transferable);
                Assert.IsNull(mosaicInfo.Levy);
                break;

            case M1:
                Assert.AreEqual(Config.TACCOUNT_TO_WATCH2_PUBKEY, mosaicInfo.CreatorPubKey);
                Assert.AreEqual("new mosaic test", mosaicInfo.Description);
                Assert.AreEqual(4, mosaicInfo.Properties.Divisibility);
                Assert.AreEqual((ulong)1000000000, mosaicInfo.Properties.InitialSupply);
                Assert.AreEqual(true, mosaicInfo.Properties.Mutable);
                Assert.AreEqual(true, mosaicInfo.Properties.Transferable);
                Assert.IsNull(mosaicInfo.Levy);
                break;

            case M2:
                Assert.AreEqual(Config.TACCOUNT_TO_WATCH2_PUBKEY, mosaicInfo.CreatorPubKey);
                Assert.AreEqual("new mosaic test", mosaicInfo.Description);
                Assert.AreEqual(4, mosaicInfo.Properties.Divisibility);
                Assert.AreEqual((ulong)1000000000, mosaicInfo.Properties.InitialSupply);
                Assert.AreEqual(true, mosaicInfo.Properties.Mutable);
                Assert.AreEqual(true, mosaicInfo.Properties.Transferable);
                Assert.IsNotNull(mosaicInfo.Levy);
                // Assert The Levy
                Assert.AreEqual(Config.TACCOUNT_TO_WATCH2, mosaicInfo.Levy.Recipient.Pretty);
                Assert.AreEqual(M1, mosaicInfo.Levy.FullName());
                Assert.AreEqual((ulong)100, mosaicInfo.Levy.Fee);
                Assert.AreEqual(1, mosaicInfo.Levy.FeeType);
                break;

            case M3:
                Assert.AreEqual(Config.TACCOUNT_TO_WATCH2_PUBKEY, mosaicInfo.CreatorPubKey);
                Assert.AreEqual("test", mosaicInfo.Description);
                Assert.AreEqual(6, mosaicInfo.Properties.Divisibility);
                Assert.AreEqual((ulong)100000, mosaicInfo.Properties.InitialSupply);
                Assert.AreEqual(true, mosaicInfo.Properties.Mutable);
                Assert.AreEqual(true, mosaicInfo.Properties.Transferable);
                Assert.IsNull(mosaicInfo.Levy);
                break;

            default:
                throw new Exception("AssertOnMosaicDefinition: Unsupported MosaicInfo " + mosaicInfo.FullName());
            }
        }