Example #1
0
 private void RegisterEventHandlers(SystemVisitor visitor)
 {
     visitor.NotifySearchStart    += AddLog;
     visitor.NotifySearchFinish   += AddLog;
     visitor.NotifyFileFound      += AddLog;
     visitor.NotifyFolderFound    += AddLog;
     visitor.NotifyFileFiltered   += AddLog;
     visitor.NotifyFolderFiltered += AddLog;
 }
    public void Accept(SystemVisitor visitor)
    {
        var userVisitor = visitor as UserVisitor;

        if (userVisitor == null)
        {
            throw new ArgumentException("visitor");
        }
        userVisitor.Visit(this);
    }
        public void GetFolderNodesTest()
        {
            // Arrange
            SystemVisitor visitor = new SystemVisitor(false);

            // Act
            List <Node> fileNodes = visitor.GetFolderNodes(_folderPaths).ToList();

            // Assert
            Assert.Equal(3, fileNodes.Count());
            Assert.Equal("root\\data", fileNodes[0].Path);
            Assert.Equal(NodeType.Folder, fileNodes[1].Type);
        }
        public void GetFileNodesTest()
        {
            // Arrange
            SystemVisitor visitor = new SystemVisitor(false);

            // Act
            List <Node> fileNodes = visitor.GetFileNodes(_filePaths).ToList();

            // Assert
            Assert.Equal(3, fileNodes.Count());
            Assert.Equal("root\\data\\README.txt", fileNodes[2].Path);
            Assert.Equal(NodeType.File, fileNodes[0].Type);
        }
        public void FilterNodesWithoutStopTest()
        {
            // Arrange
            SystemVisitor visitor = new SystemVisitor(
                (node, pattern) => node.Path.Contains(pattern),
                "txt",
                false);

            visitor.Nodes = visitor.GetFileNodes(_filePaths).ToList();

            // Act
            List <Node> nodes = visitor.FilterNodes().ToList();

            // Assert
            Assert.Equal(2, nodes.Count);
        }
        public void FilterNodesWithStopTest()
        {
            // Arrange
            SystemVisitor visitor = new SystemVisitor(
                (node, pattern) => node.Path.Contains(pattern),
                "txt",
                true);

            visitor.Nodes = visitor.GetFileNodes(_filePaths).ToList();

            // Act
            List <Node> nodes = visitor.FilterNodes().ToList();

            // Assert
            Assert.Single(nodes);
        }