package com.hithomelabs.clients.Benchmarks;

import com.hithomelabs.princeton1.common.Apple;
import com.hithomelabs.princeton1.module5.Insertion;
import com.hithomelabs.princeton1.module5.MeasurableSort;
import com.hithomelabs.princeton1.module5.Selection;
import com.hithomelabs.princeton1.module5.Shell;
import com.hithomelabs.princeton1.module6.Merge;
import com.hithomelabs.princeton1.module7.Quick;

import java.util.ArrayList;
import java.util.List;

public class BenchMarkingClient {

    public static void main(String[] args) {
        List<MeasurableSort<Apple>> algorithms = new ArrayList<MeasurableSort<Apple>>();

        algorithms.add(new Selection<Apple>());
        algorithms.add(new Insertion<Apple>());
        algorithms.add(new Shell<Apple>());
        algorithms.add(new Merge<Apple>());
        algorithms.add(new Quick<Apple>());

        BenchMark b1 = new BenchMark(32, algorithms);
        BenchMark b2 = new BenchMark(512, algorithms);
        BenchMark b3 = new BenchMark(1024, algorithms);
        BenchMark b4 = new BenchMark(4096,algorithms);
        b1.run();
        b2.run();
        b3.run();
        b4.run();

    }


}
