ProgressionHierarchieTest.java 1.52 KB

import java.lang.reflect.Modifier;
import java.util.*;

import static org.junit.Assert.*;

import org.junit.Test;
public class ProgressionHierarchieTest {
	@Test
	public void testAbstractProgression() throws TestException {
		try{
			assertTrue (Modifier.isAbstract(Progression.class.getModifiers()));
		}
		catch(AssertionError e){
			throw new TestException("*****La classe Progression doit etre abstraite*****");
		}
	}
	
	@Test
	public void testProgressionGeometrique() throws TestException {
		try{
			assertTrue (ProgressionGeometrique.class.getDeclaredMethods().length==1);
			assertTrue (ProgressionGeometrique.class.getDeclaredMethod("next").getReturnType()==void.class);
		}
		catch(AssertionError e){
			throw new TestException("*****Dans la classe ProgressionGeometrique vous ne devez redefinir que next()*****");
		} catch (NoSuchMethodException e) {
			throw new TestException("*****Dans la classe ProgressionGeometrique vous ne devez redefinir que next()*****");
		}
	}
	@Test
	public void testProgressionArithmetique() throws TestException {
		try{
			assertTrue (ProgressionArithmetique.class.getDeclaredMethods().length==1);
			assertTrue (ProgressionArithmetique.class.getDeclaredMethod("next").getReturnType()==void.class);
		}
		catch(AssertionError e){
			throw new TestException("*****Dans la classe ProgressionArithmetique vous ne devez redefinir que next()*****");
		} catch (NoSuchMethodException e) {
			throw new TestException("*****Dans la classe ProgressionArithmetique vous ne devez redefinir que next()*****");
		}
	}
}