public class BasicSearchTest extends TestCase {
public void testBasicSearchParsing() {
BibtexEntry be = makeBibtexEntry();
BasicSearch bsCaseSensitive = new BasicSearch(true, false);
BasicSearch bsCaseInsensitive = new BasicSearch(false, false);
BasicSearch bsCaseSensitiveRegexp = new BasicSearch(true, true);
BasicSearch bsCaseInsensitiveRegexp = new BasicSearch(false, true);
String query = "marine 2001 shields";
assertEquals(0, bsCaseSensitive.applyRule(query, be));
assertEquals(1, bsCaseInsensitive.applyRule(query, be));
assertEquals(0, bsCaseSensitiveRegexp.applyRule(query, be));
assertEquals(1, bsCaseInsensitiveRegexp.applyRule(query, be));
query = "\"marine larviculture\"";
assertEquals(0, bsCaseSensitive.applyRule(query, be));
assertEquals(0, bsCaseInsensitive.applyRule(query, be));
assertEquals(0, bsCaseSensitiveRegexp.applyRule(query, be));
assertEquals(0, bsCaseInsensitiveRegexp.applyRule(query, be));
query = "\"marine [A-Za-z]* larviculture\"";
assertEquals(0, bsCaseSensitive.applyRule(query, be));
assertEquals(0, bsCaseInsensitive.applyRule(query, be));
assertEquals(0, bsCaseSensitiveRegexp.applyRule(query, be));
assertEquals(1, bsCaseInsensitiveRegexp.applyRule(query, be));
}