/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.test.runner.classification; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.eclipse.aether.artifact.Artifact; import org.junit.After; import org.junit.Before; public abstract class AbstractPatternDependencyFilterTestCase { protected Artifact artifact; @Before public void before() { artifact = mock(Artifact.class); when(artifact.getGroupId()).thenReturn("org.foo"); when(artifact.getArtifactId()).thenReturn("bar"); when(artifact.getExtension()).thenReturn("jar"); when(artifact.getClassifier()).thenReturn("test"); when(artifact.getBaseVersion()).thenReturn("1.0-SNAPSHOT"); } @After public void after() { verify(artifact, atLeastOnce()).getGroupId(); verify(artifact, atLeastOnce()).getArtifactId(); verify(artifact, atLeastOnce()).getExtension(); verify(artifact, atLeastOnce()).getClassifier(); verify(artifact, atLeastOnce()).getBaseVersion(); } private boolean accept(String pattern) { AbstractPatternDependencyFilter filter = newFilter(pattern); return filter.accept(artifact); } protected void matches(String pattern) { assertThat(accept(pattern), is(true)); } protected void noMatches(String pattern) { assertThat(accept(pattern), is(false)); } protected abstract AbstractPatternDependencyFilter newFilter(String pattern); }