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)); }
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))); }
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)))); }
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); }
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); }
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); }
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)); }
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"); }