001 package fr.isae.lists;
002
003 import org.junit.*;
004 import static org.junit.Assert.*;
005
006 /**
007 * Unit Test for class ListeChainee.
008 *
009 *
010 * Created: Wed Nov 2 16:37:09 2011
011 *
012 * @author <a href="mailto:garion@isae.fr">Christophe Garion</a>
013 * @version 1.0
014 */
015 public class ListeChaineeTest {
016
017 private ListeChainee l;
018
019 /**
020 * Setup for the tests.
021 */
022 @Before public void setUp() {
023 this.l = new ListeChainee();
024 }
025
026 /**
027 * Test method for constructor.
028 */
029 @Test public void testConstructor() {
030 assertEquals(0, this.l.getNbElements());
031 }
032
033 /**
034 * Test method for ajouter on an empty list. Add only one
035 * element.
036 */
037 @Test public void testAjouterEmptyList() {
038 this.l.ajouter(0, 1);
039 assertEquals(1, this.l.getNbElements());
040 assertEquals(1, this.l.getElement(0), 0.0);
041 }
042
043 /**
044 * Test method for ajouter at the beginning of a list.
045 * Add two elements.
046 */
047 @Test public void testAjouterBeginning() {
048 this.testAjouterEmptyList();
049 this.l.ajouter(0, 2);
050 assertEquals(2, this.l.getNbElements());
051 assertEquals(2, this.l.getElement(0), 0.0);
052 assertEquals(1, this.l.getElement(1), 0.0);
053 this.l.ajouter(0, 3);
054 assertEquals(3, this.l.getNbElements());
055 assertEquals(3, this.l.getElement(0), 0.0);
056 assertEquals(2, this.l.getElement(1), 0.0);
057 assertEquals(1, this.l.getElement(2), 0.0);
058 }
059
060 /**
061 * Test method for ajouter at the end of a list.
062 * Add two elements.
063 */
064 @Test public void testAjouterEnd() {
065 this.testAjouterEmptyList();
066 this.l.ajouter(1, 2);
067 assertEquals(2, this.l.getNbElements());
068 assertEquals(1, this.l.getElement(0), 0.0);
069 assertEquals(2, this.l.getElement(1), 0.0);
070 this.l.ajouter(2, 3);
071 assertEquals(3, this.l.getNbElements());
072 assertEquals(1, this.l.getElement(0), 0.0);
073 assertEquals(2, this.l.getElement(1), 0.0);
074 assertEquals(3, this.l.getElement(2), 0.0);
075 }
076
077 /**
078 * Test method for ajouter at the middle of a list.
079 * Add one element.
080 */
081 @Test public void testAjouterMiddle() {
082 this.testAjouterEmptyList();
083 this.l.ajouter(1, 2);
084 this.l.ajouter(1, 3);
085 assertEquals(3, this.l.getNbElements());
086 assertEquals(1, this.l.getElement(0), 0.0);
087 assertEquals(3, this.l.getElement(1), 0.0);
088 assertEquals(2, this.l.getElement(2), 0.0);
089 }
090
091 /**
092 * Test method for supprimer at the beginning of a list
093 * with three elements.
094 */
095 @Test public void testRetirerBeginning() {
096 this.l.ajouter(0, 1);
097 this.l.ajouter(1, 2);
098 this.l.ajouter(2, 3);
099 this.l.supprimer(0);
100 assertEquals(2, this.l.getNbElements());
101 assertEquals(2, this.l.getElement(0), 0.0);
102 assertEquals(3, this.l.getElement(1), 0.0);
103 }
104
105 /**
106 * Test method for supprimer at the end of a list
107 * with three elements.
108 */
109 @Test public void testRetirerEnd() {
110 this.l.ajouter(0, 1);
111 this.l.ajouter(1, 2);
112 this.l.ajouter(2, 3);
113 this.l.supprimer(2);
114 assertEquals(2, this.l.getNbElements());
115 assertEquals(1, this.l.getElement(0), 0.0);
116 assertEquals(2, this.l.getElement(1), 0.0);
117 }
118
119 /**
120 * Test method for supprimer at the middle of a list
121 * with three elements.
122 */
123 @Test public void testRetirerMiddle() {
124 this.l.ajouter(0, 1);
125 this.l.ajouter(1, 2);
126 this.l.ajouter(2, 3);
127 this.l.supprimer(1);
128 assertEquals(2, this.l.getNbElements());
129 assertEquals(1, this.l.getElement(0), 0.0);
130 assertEquals(3, this.l.getElement(1), 0.0);
131 }
132 }
|