/* * Project: xdccBee * Copyright (C) 2009 snert@snert-lab.de, * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package de.snertlab.xdccBee.tools.dcc; import junit.framework.TestCase; import de.snertlab.xdccBee.irc.DccMessageParser; import de.snertlab.xdccBee.irc.DccPacket; /** * @author snert * */ public class DccMessageParserTest extends TestCase { private static final String DEFAULT_SENDER = "nick"; public void test1_isDccMessageTest() { assertTrue(DccMessageParser .isDccMessage("#1 97x [ 42K] [CAT]_Releases.txt")); assertTrue(DccMessageParser .isDccMessage("#2 22x [123M] [CAT]_Cooking_fish_howto_video.avi")); assertTrue(DccMessageParser.isDccMessage("#77  141x [234M] xxxx.tar")); assertTrue(DccMessageParser .isDccMessage("#6 1095x [696M] 11,12xxx.aus.bbb.ccc.")); assertTrue(DccMessageParser .isDccMessage("#8  1231x [4.4G] xxx.720p.x264-PFD.tar")); assertTrue(DccMessageParser .isDccMessage("#7  1248x [2.0M] xxx.Patch-F4CG.tar")); assertTrue(DccMessageParser .isDccMessage("#9  297x [ 71M] xx-CD-DE-2009-DOH.tar")); assertTrue(DccMessageParser .isDccMessage("#5  772x [697M] vvvv.avi")); assertTrue(DccMessageParser .isDccMessage("#3  595x [1.8G] bbb.AC3.Addon")); assertTrue(DccMessageParser .isDccMessage("11#78 4x 48.9MB 08 xxxxxx-cc_aaaaaaa-vvvvvv-df64-2008-cms")); assertTrue(DccMessageParser .isDccMessage("#5 9x [115.3Mb] Maaaaa Ccccc - Grrrrrrr Hiiii")); assertTrue(DccMessageParser .isDccMessage("#1  84x [251M] Qindoqs.XP.Poo.Pelfolmande.Edition.March.2009-TJ.tar")); assertTrue(DccMessageParser .isDccMessage("#28 28x [211M] Emanex-Tha_Sanglos_Baxsat-11CD-2003-RNS.rar")); assertTrue(DccMessageParser .isDccMessage("#1 2x [2Mb] Stawmaaer v5.3e Max speed: 38.13KBs Current free space: 5.07GB")); assertTrue(DccMessageParser .isDccMessage("#12 0x [0 Gigs] Roy_Orbison_-_Black_n_White_Night.rar")); assertTrue(DccMessageParser .isDccMessage("#6  700x [3.1G] 11,12X-Xxx.Oragans.Walvarane-RELOADED.PART1")); assertTrue(DccMessageParser .isDccMessage("#2  6x [ 0] 5,1Big.Mobby.Baabs.Disk.1.XXX.GVDRid.XviS-Pr0nStorS.tar")); assertTrue(DccMessageParser .isDccMessage("#3  494x [3.4G] 8,1Cammond.ond.Canrubr.Aliamctude.Rat.3.GERMAN-0x0007-Part1")); assertTrue(DccMessageParser .isDccMessage("#1 80x [0 Gigs] Stawopper v5.3b Mux speed: 193.41KBs Current free space: 849.54MB")); assertFalse(DccMessageParser.isDccMessage("xxxx")); } public void test2_buildDccPacketFromMessage() { { DccPacket dccPacket1 = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#1 97x [ 42K] [CAT]_Releases.txt"); assertEquals(1, dccPacket1.getPacketNr()); assertEquals("[CAT]_Releases.txt", dccPacket1.getName()); assertEquals("42K", dccPacket1.getSize()); } { DccPacket dccPacket2 = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#77  141x [234M] xxxx.tar"); assertEquals(77, dccPacket2.getPacketNr()); assertEquals("xxxx.tar", dccPacket2.getName()); assertEquals("234M", dccPacket2.getSize()); } { DccPacket dccPacket3 = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#6 1095x [696M] 11,12xxx.aus.bbb.ccc."); assertEquals(6, dccPacket3.getPacketNr()); assertEquals("xxx.aus.bbb.ccc.", dccPacket3.getName()); assertEquals("696M", dccPacket3.getSize()); } { DccPacket dccPacket = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#7  1248x [2.0M] xxx.Patch-F4CG.tar"); assertEquals(7, dccPacket.getPacketNr()); assertEquals("xxx.Patch-F4CG.tar", dccPacket.getName()); assertEquals("2.0M", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#1 97x [ 42K] [ 42K]_Releases.txt"); assertEquals(1, dccPacket.getPacketNr()); assertEquals("[ 42K]_Releases.txt", dccPacket.getName()); assertEquals("42K", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#1 97x [ 42K] #1_Releases.txt"); assertEquals(1, dccPacket.getPacketNr()); assertEquals("#1_Releases.txt", dccPacket.getName()); assertEquals("42K", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "11#78 4x 48.9MB 08 xxxxxx-cc_aaaaaaa-vvvvvv-df64-2008-cms"); assertEquals(78, dccPacket.getPacketNr()); assertEquals("xxxxxx-cc_aaaaaaa-vvvvvv-df64-2008-cms", dccPacket.getName()); assertEquals("48.9MB", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#5 9x [115.3Mb] Maaaaa Ccccc - Grrrrrrr Hiiii"); assertEquals(5, dccPacket.getPacketNr()); assertEquals("Maaaaa Ccccc - Grrrrrrr Hiiii", dccPacket.getName()); assertEquals("115.3Mb", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "#1  84x [251M] Qindoqs.XP.Poo.Pelfolmande.Edition.March.2009-TJ.tar"); assertEquals(1, dccPacket.getPacketNr()); assertEquals( "Qindoqs.XP.Poo.Pelfolmande.Edition.March.2009-TJ.tar", dccPacket.getName()); assertEquals("251M", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "#28 28x [211M] Emanex-Tha_Sanglos_Baxsat-11CD-2003-RNS.rar"); assertEquals(28, dccPacket.getPacketNr()); assertEquals("Emanex-Tha_Sanglos_Baxsat-11CD-2003-RNS.rar", dccPacket.getName()); assertEquals("211M", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "#1 2x [2Mb] Stawmaaer v5.3e Max speed: 38.13KBs Current free space: 5.07GB"); assertEquals(1, dccPacket.getPacketNr()); assertEquals( "Stawmaaer v5.3e Max speed: 38.13KBs Current free space: 5.07GB", dccPacket.getName()); assertEquals("2Mb", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "#6  700x [3.1G] 11,12X-Xxx.Oragans.Walvarane-RELOADED.PART1"); assertEquals(6, dccPacket.getPacketNr()); assertEquals("X-Xxx.Oragans.Walvarane-RELOADED.PART1", dccPacket.getName()); assertEquals("3.1G", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket(DEFAULT_SENDER, "#2  6x [ 0] 5,1Big.Mobby.Baabs.Disk.1.XXX.GVDRid.XviS-Pr0nStorS.tar"); assertEquals(2, dccPacket.getPacketNr()); assertEquals( "Big.Mobby.Baabs.Disk.1.XXX.GVDRid.XviS-Pr0nStorS.tar", dccPacket.getName()); assertEquals("0", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket( DEFAULT_SENDER, "#3  494x [3.4G] 8,1Cammond.ond.Canrubr.Aliamctude.Rat.3.GERMAN-0x0007-Part1"); assertEquals(3, dccPacket.getPacketNr()); assertEquals( "Cammond.ond.Canrubr.Aliamctude.Rat.3.GERMAN-0x0007-Part1", dccPacket.getName()); assertEquals("3.4G", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket( DEFAULT_SENDER, "#1 80x [0 Gigs] Stawopper v5.3b Mux speed: 193.41KBs Current free space: 849.54MB"); assertEquals(1, dccPacket.getPacketNr()); assertEquals( "Stawopper v5.3b Mux speed: 193.41KBs Current free space: 849.54MB", dccPacket.getName()); assertEquals("0 Gigs", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser.buildDccPacket( DEFAULT_SENDER, "#74 0x [188.8M] SB.908.191.avb"); assertEquals(74, dccPacket.getPacketNr()); assertEquals("SB.908.191.avb", dccPacket.getName()); assertEquals("188.8M", dccPacket.getSize()); } { DccPacket dccPacket = DccMessageParser .buildDccPacket( DEFAULT_SENDER, "#1 15�4[1480x4]15� 15�4[14689M4]15� 149Blaxx.Dexxx.DVARUP.MA.Germon.XVED-ABE.tar"); assertEquals(1, dccPacket.getPacketNr()); assertEquals("Blaxx.Dexxx.DVARUP.MA.Germon.XVED-ABE.tar", dccPacket.getName()); assertEquals("689M", dccPacket.getSize()); } } }