package testing;

import testing.Testing;
import junit.framework.TestCase;

/** Tests de la fonction findLast avec JUnit 3.8 */
public class TestLastZero extends TestCase {

	// public TestLastZero(String s) {
	// super(s);
	// }

	// protected void setUp() throws Exception {
	// super.setUp();
	// }

	/** Test avec null */
	public void testNullArray() {
		try {
			Testing.lastZero(null);
			fail();
		} catch (NullPointerException e) {
			// OK
		}
	}

	/** Test avec un tableau ŕ un élément nul */
	public void testSingleZero() {
		int[] x = { 0 };
		assertEquals(0, Testing.lastZero(x));
	}

	/** Test avec un tableau vide */
	public void testEmptyArray() {
		int[] x = {};
		assertEquals(-1, Testing.lastZero(x));
	}

	/** Test avec un tableau ŕ un élénement non nul */
	public void testSingleNonZero() {
		int[] x = { 1 };
		assertEquals(-1, Testing.lastZero(x));
	}

	/** Test avec un tableau non vide sans zéro */
	public void testWithoutZero() {
		int[] x = { 1, 2, 3 };
		assertEquals(-1, Testing.lastZero(x));
	}

	/** Test avec un tableau de plus d'un élément contenant un zéro */
	public void testOneZero() {
		int[] x = { 1, 0, 1 };
		assertEquals(1, Testing.lastZero(x));
	}

	/** Test avec un tableau contenant plus d'un zéro */
	public void testMoreOneZero() {
		int[] x = { 0, 1, 0 };
		assertEquals(2, Testing.lastZero(x));
	}

}
