package name.abuchen.portfolio.datatransfer; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.junit.Assert.assertThat; import org.junit.Before; import org.junit.Test; import name.abuchen.portfolio.model.Client; import name.abuchen.portfolio.model.Security; @SuppressWarnings("nls") public class SecurityCacheTest { private Client client; @Before public void setupClient() { client = new Client(); Security security = new Security(); security.setName("Security Name"); security.setIsin("DE0007164600"); security.setWkn("716460"); client.addSecurity(security); } @Test public void testThatSecurityIsMatchedByNameOnlyIfISINMatches() { SecurityCache cache = new SecurityCache(client); Security lookup = cache.lookup("DE000BASF111", null, null, "Security Name", () -> new Security()); assertThat(client.getSecurities().get(0), not(is(lookup))); } @Test public void testThatSecurityIsMatchedByNameOnlyIfWKNMatches() { SecurityCache cache = new SecurityCache(client); Security lookup = cache.lookup(null, null, "BASF11", "Security Name", () -> new Security()); assertThat(client.getSecurities().get(0), not(is(lookup))); } @Test public void testThatSecurityIsMatchedByName() { SecurityCache cache = new SecurityCache(client); Security lookup = cache.lookup(null, null, null, "Security Name", () -> new Security()); assertThat(client.getSecurities().get(0), is(lookup)); } }