--- /dev/null
+#include <iostream>
+#include <vector>
+
+#include "gene.h"
+#include "chromosome.h"
+#include "generation.h"
+#include "generator/bitGenerator.h"
+#include "condition/generationLimitCondition.h"
+
+using namespace std;
+using namespace genetic;
+
+int main() {
+ typedef Gene<int> _Gene;
+ typedef Chromosome<_Gene> _Chromosome;
+ typedef Generation<_Chromosome> _Generation;
+ typedef generator::BitGenerator<_Chromosome> _Generator;
+ typedef GenerationLimitCondition<_Chromosome> _Condition;
+
+ const unsigned int chromosomeSize = 20;
+ const unsigned int generationSize = 100;
+ const unsigned int numberOfChecks = 20;
+
+ _Generator generator(generationSize, chromosomeSize);
+ _Generation generation = generator.breed();
+ _Condition condition(numberOfChecks);
+
+ unsigned int i = 0;
+ while(condition.check(generation)) {
+ if (i > numberOfChecks) {
+ cout << "GenerationLimitCondition got outside limit\n";
+ return 1;
+ }
+ i++;
+ }
+
+ cout << "BitGenerator breeded correctly\n";
+ return 0;
+}
+