コード例 #1
0
ファイル: ResourceTest.cs プロジェクト: rlusian1/CoAP.NET
        public void ExtendedTest()
        {
            String input = "</my/Päth>;rt=\"MyName\";if=\"/someRef/path\";ct=42;obs;sz=10";
            Resource root = RemoteResource.NewRoot(input);

            RemoteResource my = new RemoteResource("my");
            my.ResourceType = "replacement";
            root.AddSubResource(my);

            Resource res = root.GetResource("/my/Päth");
            Assert.IsNotNull(res);
            res = root.GetResource("my/Päth");
            Assert.IsNotNull(res);
            res = root.GetResource("my");
            res = res.GetResource("Päth");
            Assert.IsNotNull(res);
            res = res.GetResource("/my/Päth");
            Assert.IsNotNull(res);

            Assert.AreEqual(res.Name, "Päth");
            Assert.AreEqual(res.Path, "/my/Päth");
            Assert.AreEqual(res.ResourceType, "MyName");
            Assert.AreEqual(res.InterfaceDescriptions[0], "/someRef/path");
            Assert.AreEqual(42, res.ContentTypeCode);
            Assert.AreEqual(10, res.MaximumSizeEstimate);
            Assert.AreEqual(true, res.Observable);

            res = root.GetResource("my");
            Assert.IsNotNull(res);
            Assert.AreEqual("replacement", res.ResourceTypes[0]);
        }
コード例 #2
0
ファイル: LinkFormat.cs プロジェクト: rlusian1/CoAP.NET
        public static RemoteResource Deserialize(String linkFormat)
        {
            RemoteResource root = new RemoteResource(String.Empty);
            Scanner scanner = new Scanner(linkFormat);

            String path = null;
            while ((path = scanner.Find(ResourceNameRegex)) != null)
            {
                path = path.Substring(1, path.Length - 2);

                // Retrieve specified resource, create if necessary
                RemoteResource resource = new RemoteResource(path);

                LinkAttribute attr = null;
                while (scanner.Find(DelimiterRegex, 1) == null && (attr = ParseAttribute(scanner)) != null)
                {
                    AddAttribute(resource.Attributes, attr);
                }

                root.AddSubResource(resource);
            }

            return root;
        }