public void Usage() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler( new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler2 = new DefaultHandler( new ComponentModel("B", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler3 = new DefaultHandler( new ComponentModel("C", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler4 = new DefaultHandler( new ComponentModel("D", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler5 = new DefaultHandler( new ComponentModel("E", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler6 = new DefaultHandler( new ComponentModel("F", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("protocolhandler"), handler1); tree.Add(new ComponentName("protocolhandler:key=1"), handler2); tree.Add(new ComponentName("protocolhandler:key=2"), handler3); tree.Add(new ComponentName("protocolhandler:key=2,secure=true"), handler4); tree.Add(new ComponentName("modelmanager"), handler5); tree.Add(new ComponentName("viewmanager"), handler6); Assert.AreSame(handler1, tree.GetHandler(new ComponentName("protocolhandler"))); Assert.AreSame(handler2, tree.GetHandler(new ComponentName("protocolhandler:key=1"))); Assert.AreSame(handler3, tree.GetHandler(new ComponentName("protocolhandler:key=2"))); Assert.AreSame(handler4, tree.GetHandler(new ComponentName("protocolhandler:key=2,secure=true"))); Assert.AreSame(handler5, tree.GetHandler(new ComponentName("modelmanager"))); Assert.AreSame(handler6, tree.GetHandler(new ComponentName("viewmanager"))); IHandler[] handlers = tree.GetHandlers(new ComponentName("protocolhandler")); Assert.AreEqual(4, handlers.Length); Assert.AreSame(handler1, handlers[0]); Assert.AreSame(handler2, handlers[1]); Assert.AreSame(handler3, handlers[2]); Assert.AreSame(handler4, handlers[3]); handlers = tree.GetHandlers(new ComponentName("protocolhandler:*")); Assert.AreEqual(4, handlers.Length); Assert.AreSame(handler1, handlers[0]); Assert.AreSame(handler2, handlers[1]); Assert.AreSame(handler3, handlers[2]); Assert.AreSame(handler4, handlers[3]); handlers = tree.GetHandlers(new ComponentName("protocolhandler:secure=true")); Assert.AreEqual(1, handlers.Length); Assert.AreSame(handler4, handlers[0]); handlers = tree.GetHandlers(new ComponentName("protocolhandler:key=2")); Assert.AreEqual(2, handlers.Length); Assert.AreSame(handler3, handlers[0]); Assert.AreSame(handler4, handlers[1]); }
public void RemoveUnbalancedRoot() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler(new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("1000"), handler1); tree.Add(new ComponentName("7500"), handler1); tree.Add(new ComponentName("6000"), handler1); tree.Add(new ComponentName("2000"), handler1); tree.Remove(new ComponentName("1000")); assertRemoved(tree, 3, new ComponentName("1000"), new ComponentName("6000")); }
public void ComponentNameEmptyProperties() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler(new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); DefaultHandler handler2 = new DefaultHandler(new ComponentModel("B", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("protocolhandler:key=1"), handler2); tree.Add(new ComponentName("protocolhandler"), handler1); Assert.AreEqual(handler1, tree.GetHandler(new ComponentName("protocolhandler"))); }
private void assertRemoved(BinaryTreeComponentName tree, int expectedCount, ComponentName removed, ComponentName exists) { Assert.AreEqual(expectedCount, tree.Count); Assert.AreEqual(expectedCount, tree.Handlers.Length); Assert.IsNull(tree.GetHandler(removed)); Assert.IsNotNull(tree.GetHandler(exists)); }
public void AccessEmptyTree() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); Assert.IsFalse(tree.Contains(new ComponentName("Test"))); }
public void RemoveBranchNode() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler(new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("1000"), handler1); tree.Add(new ComponentName("0500"), handler1); tree.Add(new ComponentName("0700"), handler1); tree.Add(new ComponentName("0800"), handler1); tree.Add(new ComponentName("0400"), handler1); tree.Remove(new ComponentName("0500")); assertRemoved(tree, 4, new ComponentName("0500"), new ComponentName("0800")); }
public void RemoveNodeWithSiblings() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler(new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("1000"), handler1); tree.Add(new ComponentName("0500"), handler1); tree.Add(new ComponentName("0500:P=1"), handler1); tree.Add(new ComponentName("0500:p=2"), handler1); tree.Add(new ComponentName("0400"), handler1); tree.Remove(new ComponentName("0500")); Assert.AreEqual(4, tree.Count); Assert.AreEqual(4, tree.Handlers.Length); Assert.AreEqual(2, tree.GetHandlers(new ComponentName("0500")).Length); Assert.IsNotNull(tree.GetHandler(new ComponentName("0500:p=2"))); }
public void RemoveSibling() { BinaryTreeComponentName tree = new BinaryTreeComponentName(); DefaultHandler handler1 = new DefaultHandler(new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler))); tree.Add(new ComponentName("1000"), handler1); tree.Add(new ComponentName("0500"), handler1); tree.Add(new ComponentName("0500:P=1"), handler1); tree.Add(new ComponentName("0500:p=2"), handler1); tree.Remove(new ComponentName("0500:p=2")); assertRemoved(tree, 3, new ComponentName("0500:P=2"), new ComponentName("0500:P=1")); }
public NamingPartsSubSystem() { tree = new BinaryTreeComponentName(); }
public NamingPartsSubSystem() { tree = new BinaryTreeComponentName(); }