public void Test_03_ClaimUriEmptyValues() { string Uri = "iotdisco:SN=98734238472634;MAN=www.example.org;MODEL=Device;#V=1.0;KEY=;R="; Assert.IsTrue(ThingRegistryClient.IsIoTDiscoClaimURI(Uri)); Assert.IsFalse(ThingRegistryClient.IsIoTDiscoSearchURI(Uri)); MetaDataTag[] Tags = ThingRegistryClient.DecodeIoTDiscoClaimURI(Uri); Assert.AreEqual(6, Tags.Length); Assert.AreEqual("SN", Tags[0].Name); Assert.AreEqual("98734238472634", ((MetaDataStringTag)Tags[0]).Value); Assert.AreEqual("MAN", Tags[1].Name); Assert.AreEqual("www.example.org", ((MetaDataStringTag)Tags[1]).Value); Assert.AreEqual("MODEL", Tags[2].Name); Assert.AreEqual("Device", ((MetaDataStringTag)Tags[2]).Value); Assert.AreEqual("V", Tags[3].Name); Assert.AreEqual(1.0, ((MetaDataNumericTag)Tags[3]).Value); Assert.AreEqual("KEY", Tags[4].Name); Assert.AreEqual(string.Empty, ((MetaDataStringTag)Tags[4]).Value); Assert.AreEqual("R", Tags[5].Name); Assert.AreEqual(string.Empty, ((MetaDataStringTag)Tags[5]).Value); }
public void Test_02_ClaimUriEscape() { string Uri = "iotdisco:SN=98734238472634;MAN=www.example.org;MODEL=Device;#V=1.0;KEY=3453485763440213840928;R=\\discovery\\.example\\;.org"; Assert.IsTrue(ThingRegistryClient.IsIoTDiscoClaimURI(Uri)); Assert.IsFalse(ThingRegistryClient.IsIoTDiscoSearchURI(Uri)); MetaDataTag[] Tags = ThingRegistryClient.DecodeIoTDiscoClaimURI(Uri); Assert.AreEqual(6, Tags.Length); Assert.AreEqual("SN", Tags[0].Name); Assert.AreEqual("98734238472634", ((MetaDataStringTag)Tags[0]).Value); Assert.AreEqual("MAN", Tags[1].Name); Assert.AreEqual("www.example.org", ((MetaDataStringTag)Tags[1]).Value); Assert.AreEqual("MODEL", Tags[2].Name); Assert.AreEqual("Device", ((MetaDataStringTag)Tags[2]).Value); Assert.AreEqual("V", Tags[3].Name); Assert.AreEqual(1.0, ((MetaDataNumericTag)Tags[3]).Value); Assert.AreEqual("KEY", Tags[4].Name); Assert.AreEqual("3453485763440213840928", ((MetaDataStringTag)Tags[4]).Value); Assert.AreEqual("R", Tags[5].Name); Assert.AreEqual("discovery.example;.org", ((MetaDataStringTag)Tags[5]).Value); }
private void ClaimUri_TextChanged(object sender, TextChangedEventArgs e) { try { this.tags = ThingRegistryClient.DecodeIoTDiscoClaimURI(this.ClaimUri.Text); this.TagsListView.Items.Clear(); foreach (MetaDataTag Tag in this.tags) { this.TagsListView.Items.Add(Tag); } this.ClaimButton.IsEnabled = true; } catch (Exception) { this.ClaimButton.IsEnabled = false; } }