package io.airlift.airship.coordinator;
import org.testng.annotations.Test;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
public class TestGlobPredicate
{
@Test
public void testGlobPredicate()
{
GlobPredicate globPredicate = new GlobPredicate("*");
assertTrue(globPredicate.apply("text"));
assertTrue(globPredicate.apply(""));
assertFalse(globPredicate.apply(null));
globPredicate = new GlobPredicate("a*b*");
assertTrue(globPredicate.apply("aXbX"));
assertFalse(globPredicate.apply(null));
assertFalse(globPredicate.apply("x"));
assertFalse(globPredicate.apply("xab"));
globPredicate = new GlobPredicate("*.txt");
assertTrue(globPredicate.apply("readme.txt"));
assertTrue(globPredicate.apply(".txt"));
assertTrue(globPredicate.apply(" .txt"));
assertFalse(globPredicate.apply(null));
assertFalse(globPredicate.apply("txt"));
assertFalse(globPredicate.apply("readme.txts"));
globPredicate = new GlobPredicate("[abc].txt");
assertTrue(globPredicate.apply("a.txt"));
assertTrue(globPredicate.apply("b.txt"));
assertTrue(globPredicate.apply("c.txt"));
assertFalse(globPredicate.apply(null));
assertFalse(globPredicate.apply("x.txt"));
assertFalse(globPredicate.apply("a.tt"));
assertFalse(globPredicate.apply("aa.txt"));
assertFalse(globPredicate.apply(" .txt"));
globPredicate = new GlobPredicate("*.{txt,html}");
assertTrue(globPredicate.apply("readme.txt"));
assertTrue(globPredicate.apply("readme.html"));
assertTrue(globPredicate.apply(".txt"));
assertTrue(globPredicate.apply(".html"));
assertTrue(globPredicate.apply(" .txt"));
assertTrue(globPredicate.apply(" .html"));
assertFalse(globPredicate.apply(null));
assertFalse(globPredicate.apply("txt"));
assertFalse(globPredicate.apply("html"));
assertFalse(globPredicate.apply("*.{txt,html}"));
assertFalse(globPredicate.apply("readme.txthtml"));
}
}