All Downloads are FREE. Search and download functionalities are using the official Maven repository.

munit.internal.junitinterface.CustomRunners Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
package munit.internal.junitinterface;

import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import sbt.testing.Fingerprint;
import sbt.testing.SubclassFingerprint;

public class CustomRunners {
  final List runners;
  final Set superclasses;

  public CustomRunners(List runners) {
    this.runners = runners;
    this.superclasses = new HashSet<>();
    runners.forEach(runner -> this.superclasses.add(runner.suite));
  }
  public boolean isEmpty() {
    return runners.isEmpty();
  }

  public Map all() {
      Map result = new HashMap<>();
      runners.forEach(runner -> result.put(runner.suite, runner.runner));
      return result;
  }

  public boolean matchesFingerprint(Fingerprint fingerprint) {
    if (fingerprint instanceof SubclassFingerprint) {
      SubclassFingerprint subclassFingerprint = (SubclassFingerprint) fingerprint;
      return superclasses.contains(subclassFingerprint.superclassName());
    }
    return false;
  }

  public static CustomRunners of(CustomFingerprint... runners) {
    return new CustomRunners(Arrays.asList(runners));
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy