### Question:
SearchConditionBuilder implements PartialCondition { public static SearchConditionBuilder instance() { return instance(DEFAULT_LANGUAGE); }  static SearchConditionBuilder instance(); static SearchConditionBuilder instance(Map<String, String> properties); static SearchConditionBuilder instance(String language); static SearchConditionBuilder instance(String language, Map<String, String> properties); abstract String query(); static final String DEFAULT_LANGUAGE; static final String FIQL; }### Answer:
@Test public void testDefault() throws Exception { assertTrue(SearchConditionBuilder.instance() instanceof FiqlSearchConditionBuilder); }
@Test public void testFiqlImpl() throws Exception { assertTrue(SearchConditionBuilder.instance("FIQL") instanceof FiqlSearchConditionBuilder); }
@Test public void testCaseInsensitive() throws Exception { assertTrue(SearchConditionBuilder.instance("fiql") instanceof FiqlSearchConditionBuilder); }
@Test(expected = IllegalArgumentException.class) public void testUnknownQueryLanguage() throws Exception { SearchConditionBuilder.instance("unknown language"); }