/**
* Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.master.config;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertTrue;
import org.testng.annotations.Test;
import com.opengamma.core.config.impl.ConfigItem;
import com.opengamma.util.test.TestGroup;
@Test(groups = TestGroup.UNIT)
public class ConfigSearchRequestTest {
/**
* Tests matching a document using a name containing wildcards.
*/
@Test
public void wildcardNameMatch() {
ConfigSearchRequest<Object> searchRequest = new ConfigSearchRequest<>(Object.class);
searchRequest.setName("foo*bar");
assertTrue(searchRequest.matches(document("foobar")));
assertTrue(searchRequest.matches(document("foo bar")));
assertTrue(searchRequest.matches(document("foo12345bar")));
assertFalse(searchRequest.matches(document("foo")));
assertTrue(searchRequest.matches(document("fooBar")));
searchRequest.setName("*baz*");
assertTrue(searchRequest.matches(document("baz")));
assertTrue(searchRequest.matches(document("baz1234")));
assertTrue(searchRequest.matches(document("1234baz1234")));
searchRequest.setName("?qux");
assertTrue(searchRequest.matches(document("1qux")));
assertFalse(searchRequest.matches(document("qux")));
}
/**
* Tests matching a document using an exact name match.
*/
@Test
public void exactNameMatch() {
ConfigSearchRequest<Object> searchRequest = new ConfigSearchRequest<>(Object.class);
searchRequest.setName("foo");
assertTrue(searchRequest.matches(document("foo")));
assertFalse(searchRequest.matches(document("bar")));
assertFalse(searchRequest.matches(document("Foo")));
}
private static ConfigDocument document(String name) {
return new ConfigDocument(ConfigItem.of(new Object(), name));
}
}