package anoncard;

import static org.junit.Assert.fail;
import javacard.framework.ISO7816;
import mixconfig.tools.dataretention.smartcard.ApduConstants;

import org.junit.Test;

public class ANONCardAppletSubTest_Initialization extends AbtractANONCardAppletSubTest {

	public ANONCardAppletSubTest_Initialization() {
		super();
	}

	/**
	 * Test method for
	 * {@link anoncard.ANONCardApplet#process(javacard.framework.APDU)} and
	 * {@link ANONCardApplet#setPermissionChangeSettings(APDU))}.
	 */
	@Test
	public void testProcessSetPermissionChangeSettings_initilized() {
		apduBuffer[ISO7816.OFFSET_INS] = ApduConstants.INSTRUCTION_SET_PERMISSION_CHANGE_SETTINGS;
		applet.generateKeyPair();
	
		setAPDUData(new byte[] { ApduConstants.TRUE, ApduConstants.TRUE, ApduConstants.TRUE });
		assertExceptionResponse(ApduConstants.EXCEPTION_APPLET_ALREADY_INITIALIZED);
	}

	@Test
	public void testInitializeWholeAppletConfiguration() {
		fail("Not yet implemented");
		// reset configuration
	
		// start transaction
	
		// add admins
	
		// add operators
	
		// add timeservers
	
		// set permission to change flags
	
		// set needednumbers
	
		// commit
	
		// check isInitialized (must return true now)
	}

}