⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 andfilefiltertestcase.java

📁 java 的io 操作类 java 的io 操作类
💻 JAVA
字号:
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.commons.io.filefilter;

import java.util.ArrayList;
import java.util.List;

import junit.framework.TestSuite;
import junit.textui.TestRunner;

public class AndFileFilterTestCase extends ConditionalFileFilterAbstractTestCase {
  
  private static final String DEFAULT_WORKING_PATH = "./AndFileFilterTestCase/";
  private static final String WORKING_PATH_NAME_PROPERTY_KEY = AndFileFilterTestCase.class.getName() + ".workingDirectory";
  
  public static void main(final String[] args) {
    TestRunner.run(suite());
  }
  
  public static TestSuite suite() {
    return new TestSuite(AndFileFilterTestCase.class);
  }
  
  private List testFilters;
  private List testTrueResults;
  private List testFalseResults;
  private List testFileResults;
  private List testFilenameResults;
  
  public AndFileFilterTestCase(final String name) {
    super(name);
  }
  
  public void setUp() throws Exception {
    super.setUp();
    this.setUpTestFilters();
  }
  
  protected IOFileFilter buildFilterUsingAdd(final List filters) {
    AndFileFilter filter = new AndFileFilter();
    for(int i = 0; i < filters.size(); i++) {
      filter.addFileFilter((IOFileFilter) filters.get(i));
    }
    return filter;
  }
  
  protected IOFileFilter buildFilterUsingConstructor(final List filters) {
    return new AndFileFilter(filters);
  }
  
  protected ConditionalFileFilter getConditionalFileFilter() {
    return new AndFileFilter();
  }
  
  protected String getDefaultWorkingPath() {
    return DEFAULT_WORKING_PATH;
  }
  
  protected List getFalseResults() {
    return this.testFalseResults;
  }
  
  protected List getFileResults() {
    return this.testFileResults;
  }
  
  protected List getFilenameResults() {
    return this.testFilenameResults;
  }
  
  protected List getTestFilters() {
    return this.testFilters;
  }
  
  protected List getTrueResults() {
    return this.testTrueResults;
  }
  
  protected String getWorkingPathNamePropertyKey() {
    return WORKING_PATH_NAME_PROPERTY_KEY;
  }
  
  private void setUpTestFilters() {
    // filters
    //tests
    this.testFilters = new ArrayList();
    this.testTrueResults = new ArrayList();
    this.testFalseResults = new ArrayList();
    this.testFileResults = new ArrayList();
    this.testFilenameResults = new ArrayList();

    // test 0 - add empty elements
    {
      testFilters.add(0, null);
      testTrueResults.add(0, null);
      testFalseResults.add(0, null);
      testFileResults.add(0, null);
      testFilenameResults.add(0, null);
    }
      
    // test 1 - Test conditional and with all filters returning true
    {
      // test 1 filters
      List filters = new ArrayList();
      filters.add(trueFilters[1]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      // test 1 true results
      boolean[] trueResults = new boolean[] {true, true, true};
      // test 1 false results
      boolean[] falseResults = new boolean[] {false, false, false};

      testFilters.add(1, filters);
      testTrueResults.add(1, trueResults);
      testFalseResults.add(1, falseResults);
      testFileResults.add(1, Boolean.TRUE);
      testFilenameResults.add(1, Boolean.TRUE);
    }

    // test 2 - Test conditional and with first filter returning false
    {
      // test 2 filters
      List filters = new ArrayList();
      filters.add(falseFilters[1]);
      filters.add(trueFilters[1]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[2]);
      filters.add(falseFilters[3]);
      // test 2 true results
      boolean[] trueResults = new boolean[] {false, false, false};
      // test 2 false results
      boolean[] falseResults = new boolean[] {true, false, false};

      testFilters.add(2, filters);
      testTrueResults.add(2, trueResults);
      testFalseResults.add(2, falseResults);
      testFileResults.add(2, Boolean.FALSE);
      testFilenameResults.add(2, Boolean.FALSE);
    }
    
    // test 3 - Test conditional and with second filter returning false
    {
      // test 3 filters
      List filters = new ArrayList();
      filters.add(trueFilters[1]);
      filters.add(falseFilters[1]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[2]);
      filters.add(falseFilters[3]);
      // test 3 true results
      boolean[] trueResults = new boolean[] {true, false, false};
      // test 3 false results
      boolean[] falseResults = new boolean[] {true, false, false};

      testFilters.add(3, filters);
      testTrueResults.add(3, trueResults);
      testFalseResults.add(3, falseResults);
      testFileResults.add(3, Boolean.FALSE);
      testFilenameResults.add(3, Boolean.FALSE);
    }
    
    // test 4 - Test conditional and with third filter returning false
    {
      // test 4 filters
      List filters = new ArrayList();
      filters.add(trueFilters[1]);
      filters.add(trueFilters[2]);
      filters.add(falseFilters[1]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[2]);
      filters.add(falseFilters[3]);
      // test 4 true results
      boolean[] trueResults = new boolean[] {true, true, false};
      // test 4 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(4, filters);
      testTrueResults.add(4, trueResults);
      testFalseResults.add(4, falseResults);
      testFileResults.add(4, Boolean.FALSE);
      testFilenameResults.add(4, Boolean.FALSE);
    }

    // test 5 - Test conditional and with first and third filters returning false
    {
      // test 5 filters
      List filters = new ArrayList();
      filters.add(falseFilters[1]);
      filters.add(trueFilters[1]);
      filters.add(falseFilters[2]);
      filters.add(falseFilters[3]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      // test 5 true results
      boolean[] trueResults = new boolean[] {false, false, false};
      // test 5 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(5, filters);
      testTrueResults.add(5, trueResults);
      testFalseResults.add(5, falseResults);
      testFileResults.add(5, Boolean.FALSE);
      testFilenameResults.add(5, Boolean.FALSE);
    }
    
    // test 6 - Test conditional and with second and third filters returning false
    {
      List filters = new ArrayList();
      filters.add(trueFilters[1]);
      filters.add(falseFilters[1]);
      filters.add(falseFilters[2]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[3]);
      // test 6 true results
      boolean[] trueResults = new boolean[] {true, false, false};
      // test 6 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(6, filters);
      testTrueResults.add(6, trueResults);
      testFalseResults.add(6, falseResults);
      testFileResults.add(6, Boolean.FALSE);
      testFilenameResults.add(6, Boolean.FALSE);
    }
    
    // test 7 - Test conditional and with first and second filters returning false
    {
      List filters = new ArrayList();
      filters.add(falseFilters[1]);
      filters.add(falseFilters[2]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[3]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      // test 7 true results
      boolean[] trueResults = new boolean[] {false, false, false};
      // test 7 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(7, filters);
      testTrueResults.add(7, trueResults);
      testFalseResults.add(7, falseResults);
      testFileResults.add(7, Boolean.FALSE);
      testFilenameResults.add(7, Boolean.FALSE);
    }
    
    // test 8 - Test conditional and with fourth filters returning false
    {
      List filters = new ArrayList();
      filters.add(trueFilters[1]);
      filters.add(trueFilters[2]);
      filters.add(trueFilters[3]);
      filters.add(falseFilters[1]);
      // test 8 true results
      boolean[] trueResults = new boolean[] {true, true, true};
      // test 8 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(8, filters);
      testTrueResults.add(8, trueResults);
      testFalseResults.add(8, falseResults);
      testFileResults.add(8, Boolean.FALSE);
      testFilenameResults.add(8, Boolean.FALSE);
    }

    // test 9 - Test conditional and with all filters returning false
    {
      List filters = new ArrayList();
      filters.add(falseFilters[1]);
      filters.add(falseFilters[2]);
      filters.add(falseFilters[3]);
      // test 9 true results
      boolean[] trueResults = new boolean[] {false, false, false};
      // test 9 false results
      boolean[] falseResults = new boolean[] {true, false, false};
    
      testFilters.add(9, filters);
      testTrueResults.add(9, trueResults);
      testFalseResults.add(9, falseResults);
      testFileResults.add(9, Boolean.FALSE);
      testFilenameResults.add(9, Boolean.FALSE);
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -