// Scheletro di codice per il progetto 2020

// In questo file NON ci deve essere nessuna dichiarazione "package"
// come per esempio
//
//    package progetto;

// Questo import serve per potere usare il tester che vi forniamo.
// Se non volete usare il tester, dovete rimuoverlo.

import progetto2020.Helper;

// Potete aggiungere qui altri "import" per usare le librerie
// standard di Java (ad es. lo Scanner).

import java.io.*;
import java.util.Scanner;

// NON modificate in nessun modo la linea seguente
public class Progetto {

	// Qui potete liberamente aggiungere altre funzioni / procedure.
	
	// Se volete, qui potete inserire variabili globali.
	// Se decidete di inserirle, dovete fare in modo che la funzione
	//     matchLog
	// inizializzi tali variabili **ogni volta** che viene chiamata. 
	// Inizializzarle una volta sola nel main NON basta, visto che la
	// funzione verra` chiamate piu` volte.
	
	
	// NON modificate in nessun modo la linea seguente
	public static void matchLog(String inputFileName, String outputFileName) {
		// Qui potete inserire il vostro codice		
	}

	// Potete modificare il main liberamente. Potete per esempio eseguire
	// qualche test sulla funzione sopra, come quelli suggeriti sotto.
	// Ricordatevi che chi corregge il progetto NON eseguira` il vostro
	// main, ma i propri test.
	// 
	public static void main(String[] args) {
		// Eseguiamo tante volte il test
		String inputFileName = "input.txt";
		String outputFileName = "output.txt";
		long seedBase = 3244786542L;
		int numeroTest = 10000;

		int i;
		boolean esito = true;
		for (i = 0 ; i < numeroTest && esito ; i++) {
			// Impostiamo il seed
			Helper.setSeed(seedBase + i);
			// Creiamo un registro di gioco casuale
			Helper.generate(inputFileName);
			// Calcoliamo il resoconto dell'incontro
			matchLog(inputFileName, outputFileName);
			// Testiamo il resoconto
			esito = Helper.test(inputFileName, outputFileName);
			if (i % 100 == 0) {
				System.out.println("test numero " + i);
			}
		}
		if (esito) {
			System.out.println("PASS: tutti i test hanno avuto successo!");
		} else {
			System.out.println("FAIL: matchLog() ha creato un file di output errato!");
			System.out.println("      test numero " + i + " con seed = " + (seedBase+i));
		}
	}
}

