Example #1
0
        public void TestGetExtension()
        {
            DomNodeType type = new DomNodeType("type");

            type.Define(new ExtensionInfo <VisibleAdapter>());
            ExtensionInfo info = new ExtensionInfo <TestDomNodeAdapter>();

            type.Define(info);
            DomNode node = new DomNode(type);

            VisibleAdapter test = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            Assert.NotNull(test.GetExtension <TestDomNodeAdapter>(info));
        }
Example #2
0
        public void TestGetAdapter()
        {
            DomNodeType type = new DomNodeType("type");

            type.Define(new ExtensionInfo <VisibleAdapter>());
            type.Define(new ExtensionInfo <SimpleAdapter>());
            DomNode node = new DomNode(type);

            VisibleAdapter test = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            Assert.AreSame(test.GetAdapter(typeof(object)), node.GetAdapter(typeof(object)));
            Assert.AreEqual(test.GetAdapterType, typeof(object));
            Assert.AreSame(test.GetAdapter(typeof(VisibleAdapter)), node.GetAdapter(typeof(VisibleAdapter)));
            Assert.AreSame(test.GetAdapter(typeof(SimpleAdapter)), node.GetAdapter(typeof(SimpleAdapter)));
        }
Example #3
0
        public void TestGetDecorators()
        {
            DomNodeType type = new DomNodeType("type");

            type.Define(new ExtensionInfo <VisibleAdapter>());
            type.Define(new ExtensionInfo <SimpleAdapter>());
            DomNode node = new DomNode(type);

            VisibleAdapter test = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            Assert.True(test.GetDecorators(typeof(DomNodeAdapter)).SequenceEqual(node.GetDecorators(typeof(DomNodeAdapter))));
            Assert.AreEqual(test.GetDecoratorsType, typeof(DomNodeAdapter));

            Assert.True(test.GetDecorators(typeof(SimpleAdapter)).SequenceEqual(node.GetDecorators(typeof(SimpleAdapter))));
        }
Example #4
0
        public void TestOnNodeSet()
        {
            DomNodeType type = new DomNodeType("type");

            type.Define(new ExtensionInfo <VisibleAdapter>());
            DomNode node = new DomNode(type);

            VisibleAdapter test = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            Assert.NotNull(test);
            Assert.AreSame(test.DomNode, node);
            Assert.AreSame(((IAdapter)test).Adaptee, node);
            Assert.True(test.OnNodeSetCalled);
            Assert.Null(test.GetAdapterType);
            Assert.Null(test.GetDecoratorsType);
        }
Example #5
0
        public void TestGetSetReference()
        {
            DomNodeType   type    = new DomNodeType("type");
            AttributeInfo refInfo = GetRefAttribute("ref");

            type.Define(refInfo);
            type.Define(new ExtensionInfo <VisibleAdapter>());
            DomNode node    = new DomNode(type);
            DomNode refNode = new DomNode(type);

            VisibleAdapter test    = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;
            VisibleAdapter adapter = refNode.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            test.SetReference(refInfo, adapter);
            Assert.AreSame(test.GetReference <VisibleAdapter>(refInfo), adapter);
        }
Example #6
0
        public void TestGetChildList()
        {
            DomNodeType type = new DomNodeType("type");
            ChildInfo   info = new ChildInfo("child", type, true);

            type.Define(info);
            type.Define(new ExtensionInfo <VisibleAdapter>());
            DomNode node  = new DomNode(type);
            DomNode child = new DomNode(type);

            VisibleAdapter test    = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;
            VisibleAdapter adapter = child.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            IList <VisibleAdapter> list = test.GetChildList <VisibleAdapter>(info);

            Assert.NotNull(list);
        }
Example #7
0
        public void TestGetSetChild()
        {
            DomNodeType type = new DomNodeType("type");
            ChildInfo   info = new ChildInfo("child", type);

            type.Define(info);
            type.Define(new ExtensionInfo <VisibleAdapter>());
            DomNode node  = new DomNode(type);
            DomNode child = new DomNode(type);

            VisibleAdapter test    = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;
            VisibleAdapter adapter = child.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            test.SetChild(info, adapter);
            Assert.AreSame(test.GetChild <VisibleAdapter>(info), adapter);

            test.SetChild(info, null);
            Assert.Null(test.GetChild <VisibleAdapter>(info));
        }
Example #8
0
        public void TestGetSetAttribute()
        {
            DomNodeType   type    = new DomNodeType("type");
            AttributeInfo intInfo = GetIntAttribute("int");

            type.Define(intInfo);
            AttributeInfo stringInfo = GetStringAttribute("string");

            type.Define(stringInfo);
            type.Define(new ExtensionInfo <VisibleAdapter>());
            DomNode node = new DomNode(type);

            VisibleAdapter test = node.GetAdapter(typeof(VisibleAdapter)) as VisibleAdapter;

            test.SetAttribute(intInfo, 1);
            Assert.AreEqual(test.GetAttribute <int>(intInfo), 1);
            test.SetAttribute(stringInfo, "foo");
            Assert.AreEqual(test.GetAttribute <string>(stringInfo), "foo");
        }