package eu.dnetlib.iis.wf.affmatching.normalize; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.*; import java.util.Set; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import com.google.common.collect.Sets; import eu.dnetlib.iis.common.string.StringNormalizer; /** * @author madryk */ @RunWith(MockitoJUnitRunner.class) public class OrganizationNameNormalizerTest { @InjectMocks private OrganizationNameNormalizer normalizer = new OrganizationNameNormalizer(); @Mock private StringNormalizer innerNormalizer; private Set<String> stopwords = Sets.newHashSet("stop", "stop2"); @Before public void setup() { normalizer.setStopwords(stopwords); when(innerNormalizer.normalize(any())).thenAnswer(x -> x.getArgumentAt(0, String.class)); } //------------------------ TESTS -------------------------- @Test public void normalize() { // execute String filtered = normalizer.normalize("some text"); // assert assertEquals("some text", filtered); verify(innerNormalizer).normalize("some text"); } @Test public void normalize_NULL() { // execute & assert assertEquals("", normalizer.normalize(null)); } @Test public void normalize_BLANK() { // execute & assert assertEquals("", normalizer.normalize(" ")); } @Test public void normalize_BRACKETS() { // execute String filtered = normalizer.normalize("some text (with brackets)"); // assert assertEquals("some text", filtered); verify(innerNormalizer).normalize("some text "); } @Test public void normalize_MANY_BRACKET_PAIRS() { // execute String filtered = normalizer.normalize("(aa)some (bb)more complex(cc) text"); // assert assertEquals("some more complex text", filtered); verify(innerNormalizer).normalize("some more complex text"); } @Test public void normalize_STOPWORDS() { // execute String filtered = normalizer.normalize("first stop second stop2 stop this words stop"); // assert assertEquals("first second this words", filtered); verify(innerNormalizer).normalize("first stop second stop2 stop this words stop"); } }