public void RelativePath_Unit_NavigateUp2_RelativePathHasTooFewNodes() { String[] nodes = new String[] { "sites", "Chad", "Greer" }; Char separator = RelativePath.ForwardSlash; RelativePath target = new RelativePath(nodes, separator); Int32 nodeCount = nodes.Length + 1; RelativePath parent = target.NavigateUp(nodeCount); Assert.IsNotNull(parent); Assert.AreEqual(0, parent.Nodes.Count()); Assert.AreEqual(separator, parent.Separator); }
public void RelativePath_Unit_NavigateUp2_RelativePathHasEmptyLastNode() { String[] nodes = new String[] { "sites", "Chad", "Greer", String.Empty }; Char separator = RelativePath.ForwardSlash; RelativePath target = new RelativePath(nodes, separator); Int32 nodeCount = 2; RelativePath parent = target.NavigateUp(nodeCount); Assert.IsNotNull(parent); Assert.AreEqual(2, parent.Nodes.Count()); Assert.AreEqual(nodes[0], parent.Nodes.ElementAt(0)); Assert.AreEqual(nodes[1], parent.Nodes.ElementAt(1)); }
public void RelativePath_Unit_NavigateUp1_RelativePathIsEmpty() { String[] nodes = new String[0]; Char separator = RelativePath.ForwardSlash; RelativePath target = new RelativePath(nodes, separator); RelativePath parent = target.NavigateUp(); Assert.IsNotNull(parent); Assert.AreEqual(0, parent.Nodes.Count()); Assert.AreEqual(separator, parent.Separator); }
public void RelativePath_Unit_NavigateUp2_NodeCountIsTooSmall() { String[] nodes = new String[] { "sites", "Chad", "Greer" }; Char separator = RelativePath.ForwardSlash; RelativePath target = new RelativePath(nodes, separator); Int32 nodeCount = 0; target.NavigateUp(nodeCount); }
public void RelativePath_Unit_NavigateUp1_Optimal() { String[] nodes = new String[] { "sites", "Chad", "Greer" }; Char separator = RelativePath.ForwardSlash; RelativePath target = new RelativePath(nodes, separator); RelativePath parent = target.NavigateUp(); Assert.IsNotNull(parent); Assert.AreEqual(2, parent.Nodes.Count()); Assert.AreEqual(nodes[0], parent.Nodes.ElementAt(0)); Assert.AreEqual(nodes[1], parent.Nodes.ElementAt(1)); }