package pl.edu.amu.wmi.daut.re; import junit.framework.TestCase; /** * Testy klasy LinuxFileMask. */ public class TestLinuxFileMask extends TestCase { /** * Test dla plikow o dowolnej nazwie. */ public final void testAllFilesMask() { LinuxFileMask linuxMask = new LinuxFileMask("*"); assertTrue(linuxMask.accepts("")); assertTrue(linuxMask.accepts("a")); assertTrue(linuxMask.accepts("*")); assertTrue(linuxMask.accepts("abc")); assertTrue(linuxMask.accepts("abc.xml")); assertTrue(linuxMask.accepts("123@#$.123#@$#@")); assertTrue(linuxMask.accepts("a.b.c.*.&.(.)")); assertTrue(linuxMask.accepts("abcdefghijklmnopqrstuwyz1234567890")); } /** * Test dla plikow, o nazwie skladajacej sie z dokladnie jednego znaku. */ public final void testTwoCharFileMask() { LinuxFileMask linuxMask = new LinuxFileMask("??"); assertTrue(linuxMask.accepts("?X")); assertTrue(linuxMask.accepts("aa")); assertTrue(linuxMask.accepts("12")); assertTrue(linuxMask.accepts("%#")); assertTrue(linuxMask.accepts(". ")); assertTrue(linuxMask.accepts("#1")); assertTrue(linuxMask.accepts(" ")); assertFalse(linuxMask.accepts("fail")); assertFalse(linuxMask.accepts("")); } /** * Test dla plikow, o nazwie skladajacej sie z jednego, niepustego znaku * i dowolnej ilosci innych znakow. */ public final void testCombinedOneCharAndAllFileMask() { LinuxFileMask linuxMask = new LinuxFileMask("?*"); assertTrue(linuxMask.accepts("?")); assertTrue(linuxMask.accepts("aa")); assertTrue(linuxMask.accepts("1*")); assertTrue(linuxMask.accepts("%abc")); assertTrue(linuxMask.accepts(".abc.xml")); assertTrue(linuxMask.accepts("abcdefghijklmnopqrstuwyz1234567890")); assertFalse(linuxMask.accepts("")); } /** * Test dla wszystkich plikow o dowolnej nazwie i dowolnym rozszerzeniu. */ public final void testAllFilesAllExtentionsMask() { LinuxFileMask linuxMask = new LinuxFileMask("*.*"); assertTrue(linuxMask.accepts(".")); assertTrue(linuxMask.accepts("a.a")); assertTrue(linuxMask.accepts("image.png")); assertTrue(linuxMask.accepts("cpp.net")); assertTrue(linuxMask.accepts("asp.net")); assertTrue(linuxMask.accepts("wpf.net")); assertTrue(linuxMask.accepts("mail@gmail.com")); assertTrue(linuxMask.accepts("($|4::}.JIO#$")); assertFalse(linuxMask.accepts("")); assertFalse(linuxMask.accepts("asafa$%$#")); assertFalse(linuxMask.accepts("some,none")); assertFalse(linuxMask.accepts("imageDOTpng")); assertFalse(linuxMask.accepts("")); } /** * Test dla wszystkich plikow o dowolnej nazwie i rozszerzeniu png. */ public final void testAllFilesOfOneExtentionsMask() { LinuxFileMask linuxMask = new LinuxFileMask("*.png"); assertTrue(linuxMask.accepts(".png")); assertTrue(linuxMask.accepts("a.png")); assertTrue(linuxMask.accepts("image.png")); assertTrue(linuxMask.accepts("cpp.png")); assertTrue(linuxMask.accepts("mail@gmail.png")); assertTrue(linuxMask.accepts("($|4::}.png")); assertFalse(linuxMask.accepts(".")); assertFalse(linuxMask.accepts("image.jpg")); assertFalse(linuxMask.accepts("image.peengje")); assertFalse(linuxMask.accepts("asafa$%$#")); assertFalse(linuxMask.accepts("imageDOTpng")); assertFalse(linuxMask.accepts("")); } /** * Test dla wszystkich plikow o nazwie image i dowolnym rozszerzeniu. */ public final void testAllExtentionsOneFileNameMask() { LinuxFileMask linuxMask = new LinuxFileMask("image.*"); assertTrue(linuxMask.accepts("image.png")); assertTrue(linuxMask.accepts("image.jpg")); assertTrue(linuxMask.accepts("image.png")); assertTrue(linuxMask.accepts("image.peengje")); assertTrue(linuxMask.accepts("image.$%@#$@$")); assertTrue(linuxMask.accepts("image.tojestrozszerzeniepliku")); assertTrue(linuxMask.accepts("image.")); assertFalse(linuxMask.accepts("($|4::}.png")); assertFalse(linuxMask.accepts("plik.png")); assertFalse(linuxMask.accepts(".")); assertFalse(linuxMask.accepts("asafa$%$#")); assertFalse(linuxMask.accepts("imageDOTpng")); assertFalse(linuxMask.accepts("")); } /** * Test dla wszystkich plikow o nazwie plikX.txt, gdzie w miejsce X * wstawiony moze byc dowolny symbol. */ public final void testAllSimilarFilesNamesMask() { LinuxFileMask linuxMask = new LinuxFileMask("plik?.txt"); assertTrue(linuxMask.accepts("plik0.txt")); assertTrue(linuxMask.accepts("plik1.txt")); assertTrue(linuxMask.accepts("plik2.txt")); assertTrue(linuxMask.accepts("plik3.txt")); assertTrue(linuxMask.accepts("plik4.txt")); assertTrue(linuxMask.accepts("plik$.txt")); assertFalse(linuxMask.accepts("plik1.png")); assertFalse(linuxMask.accepts("plik10.txt")); assertFalse(linuxMask.accepts("plik1.")); assertFalse(linuxMask.accepts(".")); assertFalse(linuxMask.accepts("asafa$%$#")); assertFalse(linuxMask.accepts("")); } }