/******************************************************************************* * Copyright (c) 2015 Dirk Fauth and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Dirk Fauth <dirk.fauth@googlemail.com> - initial API and implementation *******************************************************************************/ package org.eclipse.nebula.widgets.nattable.extension.glazedlists.filterrow; import static org.junit.Assert.assertEquals; import org.eclipse.nebula.widgets.nattable.filterrow.FilterRowRegularExpressionConverter; import org.junit.Test; public class FilterRowRegularExpressionConverterTest { @Test public void shouldConvertAsteriskFromDisplayToCanonical() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("(.*)", converter.displayToCanonicalValue("*")); assertEquals("(.*)abc", converter.displayToCanonicalValue("*abc")); assertEquals("abc(.*)", converter.displayToCanonicalValue("abc*")); assertEquals("ab(.*)g", converter.displayToCanonicalValue("ab*g")); assertEquals("(.*)abc(.*)", converter.displayToCanonicalValue("*abc*")); assertEquals("(.*)ab(.*)cd(.*)", converter.displayToCanonicalValue("*ab*cd*")); } @Test public void shouldConvertQuestionMarkFromDisplayToCanonical() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("(.?)", converter.displayToCanonicalValue("?")); assertEquals("(.?)abc", converter.displayToCanonicalValue("?abc")); assertEquals("abc(.?)", converter.displayToCanonicalValue("abc?")); assertEquals("ab(.?)g", converter.displayToCanonicalValue("ab?g")); assertEquals("(.?)abc(.?)", converter.displayToCanonicalValue("?abc?")); assertEquals("(.?)ab(.?)cd(.?)", converter.displayToCanonicalValue("?ab?cd?")); } @Test public void shouldConvertMixedFromDisplayToCanonical() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("(.*)abc(.?)", converter.displayToCanonicalValue("*abc?")); assertEquals("(.?)abc(.*)", converter.displayToCanonicalValue("?abc*")); } @Test public void shouldConvertAsteriskFromCanonicalToDisplay() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("*", converter.canonicalToDisplayValue("(.*)")); assertEquals("*abc", converter.canonicalToDisplayValue("(.*)abc")); assertEquals("abc*", converter.canonicalToDisplayValue("abc(.*)")); assertEquals("ab*g", converter.canonicalToDisplayValue("ab(.*)g")); assertEquals("*abc*", converter.canonicalToDisplayValue("(.*)abc(.*)")); assertEquals("*ab*cd*", converter.canonicalToDisplayValue("(.*)ab(.*)cd(.*)")); } @Test public void shouldConvertQuestionMarkFromCanonicalToDisplay() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("?", converter.canonicalToDisplayValue("(.?)")); assertEquals("?abc", converter.canonicalToDisplayValue("(.?)abc")); assertEquals("abc?", converter.canonicalToDisplayValue("abc(.?)")); assertEquals("ab?g", converter.canonicalToDisplayValue("ab(.?)g")); assertEquals("?abc?", converter.canonicalToDisplayValue("(.?)abc(.?)")); assertEquals("?ab?cd?", converter.canonicalToDisplayValue("(.?)ab(.?)cd(.?)")); } @Test public void shouldConvertMixedFromCanonicalToDisplay() { FilterRowRegularExpressionConverter converter = new FilterRowRegularExpressionConverter(); assertEquals("*abc?", converter.canonicalToDisplayValue("(.*)abc(.?)")); assertEquals("?abc*", converter.canonicalToDisplayValue("(.?)abc(.*)")); } }