<?php
	//Arrancamos el core de webStore
	include('initWebStore.php');
	$limite = 1000;
	
	error_reporting(E_ALL);

	//$lineasPedido = new LineaCesta($opciones);
	//Vamos a hacer un test de velocidad:
	BaseDatos::$consultas_realizadas = 0;
	echo('<pre>');
	echo("Empezamos con mil cargas del objeto pedido completo:\n");
	$inicio = microtime(true);
	$total = 0;
	for($i = 0; $i < $limite; $i++){
		//Estamos haciendo pruebas, vamos a cargar el pedido número 1:
		$opciones = new OpcionesWidget(array(
			'codigoPedido' => 1,
		));
		$cesta = new CabeceraCesta($opciones);
		$total += count($cesta->lineas);
	}
	$fin = microtime(true);
	echo("Primera prueba: " . (floatval($fin) - floatval($inicio) ) . "\n");
	echo("Hay un total de $total líneas \n");
	echo("Hay un total de " . BaseDatos::$consultas_realizadas . " consultas realizadas \n");
	BaseDatos::$consultas_realizadas = 0;
	//Vamos con la segunda prueba dónde no hay líneas:
	$sentencia_sql = 'SELECT ' . CabeceraCesta::getCampos(true) . ' 
					FROM ' . CabeceraCesta::getNombreTabla(true) . '
					WHERE ' . CabeceraCesta::getWhereTabla(1, NULL, false); //Cargamos todas las líneas del pedido
	//echo($sentencia_sql . "\n");
	echo("\nAhora cargamos sólo las líneas:\n");
	$total = 0;
	$inicio = microtime(true);
	for($i = 0; $i < $limite; $i++){
		$bd = new BaseDatos();
		if ($bd->isConectado()){
			$bd->setConsultaSQL($sentencia_sql);
			$fila = $bd->getFila();
			$opciones = new OpcionesWidget(array(
				'filaCabecera' => $fila,
			));
			
			$cesta = new CabeceraCesta($opciones);
			$total += count($cesta->lineas);
		}
	}
	$fin = microtime(true);
	echo("Segunda prueba: " . (floatval($fin) - floatval($inicio) ) . "\n");
	echo("Hay un total de $total líneas \n");
	echo("Hay un total de " . BaseDatos::$consultas_realizadas . " consultas realizadas \n");
	echo('</pre>');