You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.4 KiB
53 lines
1.4 KiB
/*
|
|
* Copyright (c) 2015 - present Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
package utils.matchers;
|
|
|
|
import org.hamcrest.BaseMatcher;
|
|
import org.hamcrest.Description;
|
|
import org.hamcrest.Matcher;
|
|
|
|
import utils.InferError;
|
|
import utils.InferStats;
|
|
|
|
public class NumberOfFilesAnalyzed extends BaseMatcher<InferStats> {
|
|
|
|
private int expectedNumFiles;
|
|
private int actualNumFiles;
|
|
|
|
public NumberOfFilesAnalyzed(int expectedNumFiles) {
|
|
this.expectedNumFiles = expectedNumFiles;
|
|
this.actualNumFiles = -1;
|
|
}
|
|
|
|
@Override
|
|
public boolean matches(Object o) {
|
|
InferStats stats = (InferStats) o;
|
|
actualNumFiles = stats.getNumFiles();
|
|
return actualNumFiles == expectedNumFiles;
|
|
}
|
|
|
|
@Override
|
|
public void describeTo(Description description) {
|
|
description.appendText(expectedNumFiles + " files analyzed by Infer.");
|
|
}
|
|
|
|
@Override
|
|
public void describeMismatch(Object item, Description description) {
|
|
InferStats stats = (InferStats) item;
|
|
description.appendText("found " + actualNumFiles + " files analyzed by Infer.");
|
|
}
|
|
|
|
public static <T> Matcher<InferStats> numberOfFilesAnalyzed(
|
|
int expectedNumFiles) {
|
|
return new NumberOfFilesAnalyzed(expectedNumFiles);
|
|
}
|
|
|
|
}
|