'group':
            'Well+Gene',
            'vals':
            'eJxNkDtOBDEQRHNO4QOA1d3V33CFEMFoJQJEMppgOQL3D2gPwRCW7Hp+5X2PGvevbeiYcz4PmlVGVURRaR2JtENVulDxkAkKS5FK4Hgau8u43z5k84tgUQYuC7LqqELqSQrJToyCKvoUfvZ9fL69XuWQ6LsqCdaOEtIkC85+fLGCAUdKdPmsNMPG++P754GLorQMi6Eiy6giiCndhMdLSwQXjNMi9JTgPwJfBLCjnXtHG9L0hJe5J5MvAqBh4dmaC8DnL2z8X0FL2lt76algFL3KmpkLQJlqyKDG6nH8AuLPT3I='
        },
    ]

    for i, test in enumerate(testdata):
        props_file = test['props']
        ts_file = test['ts']
        nRules = test['nRules']
        filter_name = test['filter']
        group = test['group']
        vals = numpy.array(test['vals'])

        logging.info('Loading properties file...')
        p.load_file(props_file)
        logging.info('Loading training set...')
        ts = TrainingSet(p)
        ts.Load(ts_file)

        data = score(p, ts, nRules, filter_name, group)

        nClasses = len(ts.labels)
        nKeyCols = len(image_key_columns())

        if base64.b64encode(zlib.compress(str(list(data)))) != vals:
            logging.error('Test %d failed' % (i))

    app.MainLoop()