package com.hubspot.jinjava.lib.filter;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
@RunWith(MockitoJUnitRunner.class)
@SuppressWarnings("unchecked")
public class SplitFilterTest {
@Mock
JinjavaInterpreter interpreter;
SplitFilter filter;
@Before
public void setup() {
filter = new SplitFilter();
}
@Test
public void itDefaultsToSpaceSep() {
List<String> result = (List<String>) filter.filter("hello world this is fred", interpreter);
assertThat(result).containsExactly("hello", "world", "this", "is", "fred");
}
@Test
public void itUsesDifferentSeparatorIfSpecified() {
List<String> result = (List<String>) filter.filter("hello world, this is fred", interpreter, ",");
assertThat(result).containsExactly("hello world", "this is fred");
}
@Test
public void itLimitsResultIfSpecified() {
List<String> result = (List<String>) filter.filter("hello world this is fred", interpreter, " ", "2");
assertThat(result).containsExactly("hello", "world this is fred");
}
}