public void ParseDirectoryTest() { //Get tokens and parse it TokenIterator tokens = Init("directory1\\directory2\\filename.ext"); SiteParser siteParser = new SiteParser(tokens); Dir output = siteParser.ParseDirectory(); //Check output Assert.AreEqual(2, output.GetDirectoryElements().Count); //Check directory's Assert.AreEqual("directory1", output.GetDirectoryElements().Get(0).ToString()); Assert.AreEqual("directory2", output.GetDirectoryElements().Get(1).ToString()); }
public void ParseDirectoryNameTest() { //Get tokens and parse it TokenIterator tokens = Init("home\\site\\test.wae"); SiteParser siteParser = new SiteParser(tokens); DirName output = siteParser.ParseDirectoryName(); Dir directory = output.GetDirectory(); //Check output Assert.AreEqual(2, directory.GetDirectoryElements().Count); //Get directory's and transfer to array to provide walking List <ISyntaxNode> .Enumerator directoryEnumerator = directory.GetDirectoryElements().GetEnumerator(); //Check directory's directoryEnumerator.MoveNext(); Assert.AreEqual("home", ((PathElement)directoryEnumerator.Current).GetPathElement()); directoryEnumerator.MoveNext(); Assert.AreEqual("site", ((PathElement)directoryEnumerator.Current).GetPathElement()); }
public void ParsePathTest() { //Get tokens and parse it TokenIterator tokens = Init("site/home.html"); SiteParser siteParser = new SiteParser(tokens); Pth path = siteParser.ParsePath(); //Get structures of path Dir directory = path.GetDirectoryName().GetDirectory(); PathElement pathElement = (PathElement)directory.GetDirectoryElements().Get(0); FileName filename = path.GetFilename(); //Check directory Assert.AreEqual(1, directory.GetDirectoryElements().Count); Assert.AreEqual("site", pathElement.GetPathElement()); //Check filename Assert.AreEqual("home", filename.GetName().GetPathElement()); Assert.AreEqual("html", filename.GetFileExtension().GetFileExtension()); }
/// <summary> /// Parse Directory /// </summary> /// <returns>Parsed Directory</returns> public Directory ParseDirectory() { Directory directory = new Directory(); //Parse path elements while (TokenStream.HasNext()) { if(TokenStream.Peek(2).GetValue().ToString() == ".") { //End of directory, filename starts here break; } PathElement element = new PathElement(); NextToken("directory", "directory/filename.ext", TokenType.IDENTIFIER); element.SetPathElement(CurrentToken.GetValue().ToString()); directory.AddDirectoryElement(element); //Skip / or \ NextToken("/ or \\", "directory/FileName.ext", TokenType.SYMBOL); } return directory; }
public virtual void Visit(Directory directory) { VisitSubNodes(directory); }
/// <summary> /// Set directory of DirName /// </summary> /// <param name="directory">Directory to set</param> public void SetDirectory(Directory directory) { DirectoryInstance = directory; }