    @Test
    public void testSimple() throws ObjectNotFoundException, NoAvailableSlaveException {

        Properties p = new Properties();
        p.put("1.assign", "slave1+100, slave2-100");
        p.put("1.match", "/path1/*");

        Filter f = new MatchdirFilter(1, p);
        ScoreChart sc = new ScoreChart(Arrays.asList(rslaves));

        f.process(sc, null, null, Transfer.TRANSFER_SENDING_DOWNLOAD, new DirectoryHandle("/path2/dir/file.txt"), null);
        assertEquals(0, sc.getScoreForSlave(rslaves[0]).getScore());
        assertEquals(0, sc.getScoreForSlave(rslaves[1]).getScore());
        assertEquals(0, sc.getScoreForSlave(rslaves[2]).getScore());

        f.process(sc, null, null, Transfer.TRANSFER_SENDING_DOWNLOAD, new DirectoryHandle("/"), null);
        assertEquals(0, sc.getScoreForSlave(rslaves[0]).getScore());
        assertEquals(0, sc.getScoreForSlave(rslaves[1]).getScore());
        assertEquals(0, sc.getScoreForSlave(rslaves[2]).getScore());

        f.process(sc, null, null, Transfer.TRANSFER_SENDING_DOWNLOAD, new DirectoryHandle("/path1/dir/file.txt"), null);
        assertEquals(100, sc.getScoreForSlave(rslaves[0]).getScore());
        assertEquals(-100, sc.getScoreForSlave(rslaves[1]).getScore());
        assertEquals(0, sc.getScoreForSlave(rslaves[2]).getScore());
    }