def __init__(self,
                 files,
                 listofreaders=[],
                 testsetname='',
                 solufilename=''):
        self.files = files[0:len(files)]
        assert self.__listelementsdiffer(self.files)
        self.testruns = []
        self.readers = []
        self.datakeys = []
        for filename in files:
            testrun = TestRun(filename, solufilename, testsetname)
            self.testruns.append(testrun)
            testrun.settings = filename.split('.')[-2]

        self.datacollector = DataCollector()
        self.datacollector.registerListOfReaders(listofreaders)
        if solufilename != '':
            #        print 'solufiledatacollector initialized for solufilename:', solufilename
            self.solufiledatacollector = SoluFileDataCollector()

        self.readers = listofreaders
        for reader in self.readers:
            self.addDataKey(reader.datakey)