/*
    Copyright (C) 2012 Bartosz Broda, Jacek Bochenek, Łukasz Biłeńkij, 
    Damian Jaworski, Wojciech Mazur, Dominik Piasecki, Maciej Piasecki, 
    Radosław Ramocki
    
    This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 LICENSE and COPYING files for more details.
*/

#include "config.h"
#include <vector>
#include <string>
#include <boost/algorithm/string.hpp>


class MetaOptimizer{

public:
	void start();
private:
	std::string WBSTFileHeader;
	int currentFold;
	std::vector<std::vector<int>* > folds;
	/**
	  * Function loading wbst tests from file
	  */
	std::vector<std::string> loadWBSTFile(std::string filename);
	/**
	  * Function initializing folds
	  */
	void initFolds(int numOfQuestions, int numOfFolds);
	/**
	  * Function returning next fold
	  */
	std::pair<std::vector<int>,std::vector<int> >  nextFold();
	/**
	  * Function creating test file
	  * \param WBSTQuestions Vector with all possible wbst questions used by application
	  * \param fileName Name of file to save test to
	  * \param IDVector Fold with IDs of tests to be put into file
	  */
	void createTest(std::vector<std::string> WBSTQuestions,std::string fileName,std::vector<int> IDVector);

};
