import nz.ac.waikato.modeljunit.Action;
import nz.ac.waikato.modeljunit.FsmModel;




public class Magazzino implements FsmModel{
	
	final static int MIN_ADD = 1;
	final static int MAX_ADD = 2;
	final static int MAX_QUANTITY =5;
	
	int prodotto1 = 0;
	int prodotto2 = 0;
	
	public boolean insertMinProd1Guard(){
		if(prodotto1+MIN_ADD > MAX_QUANTITY){
			return false;
		}
		return true;
	}
	
	@Action
	public void insertMinProd1(){
		this.prodotto1=prodotto1+MIN_ADD;		
	}
	
	public boolean insertMaxProd1Guard(){
		if(prodotto1+MAX_ADD >MAX_QUANTITY){
			return false;
		}
		return true;
	}
	
	@Action
	public void insertMaxProd1(){
		this.prodotto1=prodotto1+MAX_ADD;
	}
	
	public boolean insertMinProd2Guard(){
		if(prodotto2+MIN_ADD > MAX_QUANTITY){
			return false;
		}
		return true;
	}
	
	@Action
	public void insertMinProd2(){
		this.prodotto2=prodotto2+MIN_ADD;
		
	}
	
	public boolean insertMaxProd2Guard(){
		if(prodotto2+MAX_ADD > MAX_QUANTITY){
			return false;
		}
		return true;
	}
	
	@Action
	public void insertMaxProd2(){
		this.prodotto2=prodotto2+MAX_ADD;
		
	}

	@Override
	public Object getState() {
		// TODO Auto-generated method stub
		return "\nProdotto 1: "+ prodotto1+ "\nProdotto 2: "+ prodotto2;
	}

	@Override
	public void reset(boolean arg0) {
		this.prodotto1=0;
		this.prodotto2=0;
		
	}

}
