Index: petri/src/arc/Arc.java
===================================================================
--- petri/src/arc/Arc.java	(revision 3)
+++ petri/src/arc/Arc.java	(revision 4)
@@ -1,26 +0,0 @@
-package arc;
-
-import element.Place;
-
-public abstract class Arc implements ArcInterface {
-	
-	private Place place;
-	
-	public Arc(Place place) {
-		this.place=place;
-	}
-	
-	public Place getPlace() {
-		return this.place;
-	}
-	public boolean equals(Object o) {
-		if((o instanceof Arc) &&(System.identityHashCode(((Arc)o))==System.identityHashCode(this))) {
-			return true;
-		}
-		else {
-			return false;
-		}
-		
-	}
-
-}
Index: petri/src/arc/ArcZero.java
===================================================================
--- petri/src/arc/ArcZero.java	(revision 3)
+++ petri/src/arc/ArcZero.java	(revision 4)
@@ -1,50 +0,0 @@
-package arc;
-
-import element.Place;
-
-public class ArcZero extends ArcOutering {
-	
-	public ArcZero(Place place, int value) {
-		super(place, value);
-		// TODO Auto-generated constructor stub
-	}
-	
-	public void doTransition() {
-	}
-	public boolean isActive() {
-		return (this.getPlace().getToken()==0);
-	}
-	public boolean isPullable() {
-		return this.isActive();
-	}
-	public String toString() {
-		return "ArcZero, "+this.getPlace(); 
-	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS ARCZERO");
-		
-		System.out.println(" => method isActive()");
-		Place emptyPlace = new Place(0);
-		ArcZero arcc1 = new ArcZero(emptyPlace,2);
-		Place place3 = new Place(3);
-		ArcZero arcc2 = new ArcZero(place3,2);
-		System.out.println(arcc1);
-		System.out.println("true : "+arcc1.isActive());
-		System.out.println(arcc2);
-		System.out.println("false : "+arcc2.isActive());
-
-	
-		System.out.println(" => method isPullable()");
-		System.out.println(arcc1);
-		System.out.println("false : "+arcc1.isPullable());
-		System.out.println(arcc2);
-		System.out.println("true : "+arcc2.isPullable());
-
-		System.out.println(" => method doTranstion()");
-		System.out.println("before : "+arcc2);
-		arcc2.doTransition();
-		System.out.println("after  : "+arcc2);
-
-	}
-
-}
Index: petri/src/arc/ArcInterface.java
===================================================================
--- petri/src/arc/ArcInterface.java	(revision 3)
+++ petri/src/arc/ArcInterface.java	(revision 4)
@@ -1,9 +0,0 @@
-package arc;
-
-public interface ArcInterface {
-	
-	public void doTransition();
-	public boolean isPullable();
-	public boolean isActive();
-
-}
Index: petri/src/arc/ArcCleaner.java
===================================================================
--- petri/src/arc/ArcCleaner.java	(revision 3)
+++ petri/src/arc/ArcCleaner.java	(revision 4)
@@ -1,56 +0,0 @@
-package arc;
-
-import element.Place;
-
-public class ArcCleaner extends Arc{
-	
-
-	public ArcCleaner(Place place) {
-		super(place);
-	
-	}
-	
-	public void doTransition() {
-		if (this.isActive()==true) {
-			this.getPlace().changeToken(-this.getPlace().getToken());
-		}
-	}
-	
-	public boolean isActive() {
-		return (this.getPlace().getToken()>0);
-	}
-	
-	public boolean isPullable() {
-		return this.isActive();
-	}
-	public String toString() {
-		return "ArcCleaner,"+this.getPlace();
-	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS ARCCLEANER");
-		
-		System.out.println(" => method isActive()");
-		Place emptyPlace = new Place(0);
-		ArcCleaner arcc1 = new ArcCleaner(emptyPlace);
-		Place place3 = new Place(3);
-		ArcCleaner arcc2 = new ArcCleaner(place3);
-		System.out.println("false : "+arcc1.isActive());
-		System.out.println("true : "+arcc2.isActive());
-
-	
-		System.out.println(" => method isPullable()");
-		System.out.println(arcc1);
-		System.out.println("false : "+arcc1.isPullable());
-		System.out.println(arcc2);
-		System.out.println("true : "+arcc2.isPullable());
-
-		System.out.println(" => method doTranstion()");
-		System.out.println("before : "+arcc2);
-		arcc2.doTransition();
-		System.out.println("after  : "+arcc2);
-
-	}
-	
-	
-
-}
Index: petri/src/arc/ArcEntering.java
===================================================================
--- petri/src/arc/ArcEntering.java	(revision 3)
+++ petri/src/arc/ArcEntering.java	(revision 4)
@@ -1,58 +0,0 @@
-package arc;
-
-import element.Place;
-
-public class ArcEntering extends Arc{
-	
-	private int value;
-
-	public ArcEntering(Place place, int value) {
-		super(place);
-		// TODO Auto-generated constructor stub
-		this.value=value;
-	}
-	
-	public void doTransition() {
-		this.getPlace().changeToken(this.value);
-	}
-	
-	public boolean isActive() {
-		return true;
-	}
-	
-	public boolean isPullable() {
-		return true;
-	}
-	public String toString() {
-		return "ArcEntering value:"+value+", "+this.getPlace();
-	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS ARCENTERING");
-		
-		System.out.println(" => method isActive()");
-		Place emptyPlace = new Place(0);
-		ArcEntering arce = new ArcEntering(emptyPlace, 3);
-		System.out.println("true : "+arce.isActive());
-
-	
-		System.out.println(" => method isPullable()");
-		Place place3 = new Place(3);
-		ArcEntering arce2 = new ArcEntering(place3, 2);
-		ArcEntering arce4 = new ArcEntering(place3, 4);
-		System.out.println(arce2);
-		System.out.println("true : "+arce2.isPullable());
-		System.out.println(arce4);
-		System.out.println("true : "+arce4.isPullable());
-		
-		System.out.println(" => method doTranstion()");
-		System.out.println("before : "+arce2);
-		arce2.doTransition();
-		System.out.println("after  : "+arce2);
-		System.out.println(" => method equals()");
-		// the method equals is test here because arc is an abstract method
-		System.out.println("true : "+arce2.equals(arce2));
-		System.out.println("false : "+arce2.equals(arce4));
-	}
-	
-
-}
Index: petri/src/arc/ArcOutering.java
===================================================================
--- petri/src/arc/ArcOutering.java	(revision 3)
+++ petri/src/arc/ArcOutering.java	(revision 4)
@@ -1,57 +0,0 @@
-package arc;
-
-import element.Place;
-
-public class ArcOutering extends Arc{
-	
-	private int value;
-
-	public ArcOutering(Place place, int value) {
-		super(place);
-		this.value=value;
-	}
-	public String toString() {
-		return "ArcOutering value:"+value+", "+this.getPlace();
-	}
-	
-	public void doTransition() {
-		this.getPlace().changeToken(this.value*(-1));
-	}
-	
-	public boolean isActive() {
-		return true;
-	}
-	
-	public boolean isPullable() {
-		return (this.getPlace().getToken()>=value);
-	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS ARCOUTERING");
-		
-		System.out.println(" => method isActive()");
-		Place emptyPlace = new Place(0);
-		ArcOutering arco = new ArcOutering(emptyPlace, 3);
-		System.out.println("true : "+arco.isActive());
-
-	
-		System.out.println(" => method isPullable()");
-		Place place3 = new Place(3);
-		ArcOutering arco2 = new ArcOutering(place3, 2);
-		ArcOutering arco4 = new ArcOutering(place3, 4);
-		System.out.println(arco2);
-		System.out.println("true : "+arco2.isPullable());
-		System.out.println(arco4);
-		System.out.println("false : "+arco4.isPullable());
-		
-		System.out.println(" => method doTranstion()");
-		System.out.println("before : "+arco2);
-		arco2.doTransition();
-		System.out.println("after  : "+arco2);
-		System.out.println(" => method equals()");
-		// the method equals is test here because arc is an abstract method
-		System.out.println("true : "+arco2.equals(arco2));
-		System.out.println("false : "+arco2.equals(arco4));
-	}
-
-
-}
Index: petri/src/arcElement/ArcCleaner.java
===================================================================
--- petri/src/arcElement/ArcCleaner.java	(revision 0)
+++ petri/src/arcElement/ArcCleaner.java	(revision 4)
@@ -0,0 +1,33 @@
+package arcElement;
+
+import element.Place;
+
+public class ArcCleaner extends Arc{
+	
+
+	public ArcCleaner(Place place) {
+		super(place);
+	
+	}
+	
+	public void doTransition() {
+		if (this.isActive()==true) {
+			this.getPlace().changeToken(-this.getPlace().getToken());
+		}
+	}
+	
+	public boolean isActive() {
+		return (this.getPlace().getToken()>0);
+	}
+	
+	public boolean isPullable() {
+		return this.isActive();
+	}
+	public String toString() {
+		return "ArcCleaner, "+this.getPlace();
+	}
+	
+	
+	
+
+}

Property changes on: petri/src/arcElement/ArcCleaner.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcCleanerTest.java
===================================================================
--- petri/src/arcElement/ArcCleanerTest.java	(revision 0)
+++ petri/src/arcElement/ArcCleanerTest.java	(revision 4)
@@ -0,0 +1,49 @@
+package arcElement;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place;
+import element.Place.UndefinedToken;
+
+class ArcCleanerTest {
+
+	@Test
+	void testArcCleaner() throws UndefinedToken {
+		ArcCleaner ae = new ArcCleaner(new Place(3));
+		assertEquals(ArcCleaner.class, ae.getClass());
+	}
+
+	@Test
+	void testDoTransition() throws UndefinedToken {
+		Place p=new Place(3);
+		ArcCleaner ae1 = new ArcCleaner(p);
+		ae1.doTransition();
+		assertEquals(0, p.getToken());
+		
+	}
+
+	@Test
+	void testIsActive() throws UndefinedToken {
+		ArcCleaner ae1 = new ArcCleaner(new Place(3));
+		assertTrue(ae1.isActive());
+		ArcCleaner ae2 = new ArcCleaner(new Place(0));
+		assertFalse(ae2.isActive());
+	}
+
+	@Test
+	void testIsPullable()  throws UndefinedToken {
+		ArcCleaner ae1 = new ArcCleaner(new Place(3));
+		assertTrue(ae1.isPullable());
+		ArcCleaner ae2 = new ArcCleaner(new Place(0));
+		assertFalse(ae2.isPullable());
+	}
+
+	@Test
+	void testToString() throws UndefinedToken {
+		ArcCleaner ae1 = new ArcCleaner(new Place(3));
+		Place p = new Place(3);
+		assertEquals("ArcCleaner, "+p.toString(), ae1.toString());	}
+
+}

Property changes on: petri/src/arcElement/ArcCleanerTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcEntering.java
===================================================================
--- petri/src/arcElement/ArcEntering.java	(revision 0)
+++ petri/src/arcElement/ArcEntering.java	(revision 4)
@@ -0,0 +1,33 @@
+package arcElement;
+
+import element.Place;
+
+public class ArcEntering extends Arc{
+	
+	private int value;
+
+	public ArcEntering(Place place, int value) {
+		super(place);
+
+		this.value=value;
+	}
+	
+	public void doTransition() {
+		this.getPlace().changeToken(this.value);
+	}
+	
+	public boolean isActive() {
+		return true;
+	}
+	
+	public boolean isPullable() {
+		return true;
+	}
+	public String toString() {
+		return "ArcEntering value:"+value+", "+this.getPlace();
+	}
+
+
+	
+
+}

Property changes on: petri/src/arcElement/ArcEntering.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcEnteringTest.java
===================================================================
--- petri/src/arcElement/ArcEnteringTest.java	(revision 0)
+++ petri/src/arcElement/ArcEnteringTest.java	(revision 4)
@@ -0,0 +1,46 @@
+package arcElement;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place;
+import element.Place.UndefinedToken;
+
+class ArcEnteringTest {
+
+	@Test
+	void testArcEntering() throws UndefinedToken {
+		ArcEntering ae = new ArcEntering(new Place(3), 2);
+		assertEquals(ArcEntering.class, ae.getClass());
+	}
+
+	@Test
+	void testDoTransition() throws UndefinedToken {
+		Place p= new Place(3);
+		ArcEntering ae = new ArcEntering(p, 2);
+		ae.doTransition();
+		assertEquals(5, p.getToken());
+
+	}
+
+	@Test
+	void testIsActive()  throws UndefinedToken {
+		ArcEntering ae = new ArcEntering(new Place(3), 2);
+		assertTrue(ae.isActive());
+	}
+
+	@Test
+	void testIsPullable()  throws UndefinedToken {
+		ArcEntering ae = new ArcEntering(new Place(3), 2);
+		assertTrue(ae.isPullable());
+	}
+
+	@Test
+	void testToString() throws UndefinedToken {
+		ArcEntering ao = new ArcEntering(new Place(3), 2);
+		Place p = new Place(3);
+		assertEquals("ArcEntering value:2, "+p.toString(), ao.toString());
+	}
+
+}

Property changes on: petri/src/arcElement/ArcEnteringTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcOutering.java
===================================================================
--- petri/src/arcElement/ArcOutering.java	(revision 0)
+++ petri/src/arcElement/ArcOutering.java	(revision 4)
@@ -0,0 +1,31 @@
+package arcElement;
+
+import element.Place;
+
+public class ArcOutering extends Arc{
+	
+	private int value;
+
+	public ArcOutering(Place place, int value) {
+		super(place);
+		this.value=value;
+	}
+	public String toString() {
+		return "ArcOutering value:"+value+", "+this.getPlace();
+	}
+	
+	public void doTransition() {
+		this.getPlace().changeToken(this.value*(-1));
+	}
+	
+	public boolean isActive() {
+		return true;
+	}
+	
+	public boolean isPullable() {
+		return (this.getPlace().getToken()>=value);
+	}
+
+
+
+}

Property changes on: petri/src/arcElement/ArcOutering.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcOuteringTest.java
===================================================================
--- petri/src/arcElement/ArcOuteringTest.java	(revision 0)
+++ petri/src/arcElement/ArcOuteringTest.java	(revision 4)
@@ -0,0 +1,48 @@
+package arcElement;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place;
+import element.Place.UndefinedToken;
+
+class ArcOuteringTest {
+
+	@Test
+	void testArcOutering() throws UndefinedToken {
+		ArcOutering ao = new ArcOutering(new Place(3), 2);
+		assertEquals(ArcOutering.class, ao.getClass());
+	}
+
+	@Test
+	void testToString() throws UndefinedToken {
+		ArcOutering ao = new ArcOutering(new Place(3), 2);
+		Place p = new Place(3);
+		assertEquals("ArcOutering value:2, " + p.toString(), ao.toString());
+
+	}
+
+	@Test
+	void testDoTransition() throws UndefinedToken {
+		Place p = new Place(3);
+		ArcOutering ao = new ArcOutering(p, 2);
+		ao.doTransition();
+		assertEquals(1, p.getToken());
+	}
+
+	@Test
+	void testIsActive() throws UndefinedToken {
+		ArcOutering ao = new ArcOutering(new Place(3), 2);
+		assertTrue(ao.isActive());
+	}
+
+	@Test
+	void testIsPullable() throws UndefinedToken {
+		ArcOutering ao = new ArcOutering(new Place(3), 2);
+		assertTrue(ao.isPullable());
+		ArcOutering ao1 = new ArcOutering(new Place(3), 4);
+		assertFalse(ao1.isPullable());
+	}
+
+}

Property changes on: petri/src/arcElement/ArcOuteringTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/Arc.java
===================================================================
--- petri/src/arcElement/Arc.java	(revision 0)
+++ petri/src/arcElement/Arc.java	(revision 4)
@@ -0,0 +1,27 @@
+package arcElement;
+
+import element.Place;
+import junit.framework.TestCase;
+
+public abstract class Arc extends TestCase implements ArcInterface  {
+	
+	private Place place;
+	
+	public Arc(Place place) {
+		this.place=place;
+	}
+	
+	public Place getPlace() {
+		return this.place;
+	}
+	public boolean equals(Object o) {
+		if((o instanceof Arc) &&(System.identityHashCode(((Arc)o))==System.identityHashCode(this))) {
+			return true;
+		}
+		else {
+			return false;
+		}
+		
+	}
+
+}

Property changes on: petri/src/arcElement/Arc.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcTest.java
===================================================================
--- petri/src/arcElement/ArcTest.java	(revision 0)
+++ petri/src/arcElement/ArcTest.java	(revision 4)
@@ -0,0 +1,21 @@
+package arcElement;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place;
+import element.Place.UndefinedToken;
+
+class ArcTest {
+
+	@Test
+	void testEqualsObject() throws UndefinedToken {
+		//test realized with ArcOutering because Arc is abstract
+		ArcOutering ao1=new ArcOutering(new Place(3), 2);
+		ArcOutering ao2=new ArcOutering(new Place(3), 2);
+		assertTrue(ao1.equals(ao1));
+		assertFalse(ao1.equals(ao2));
+	}
+
+}

Property changes on: petri/src/arcElement/ArcTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcZero.java
===================================================================
--- petri/src/arcElement/ArcZero.java	(revision 0)
+++ petri/src/arcElement/ArcZero.java	(revision 4)
@@ -0,0 +1,28 @@
+package arcElement;
+
+
+
+import element.Place;
+
+
+
+public class ArcZero extends ArcOutering {
+	
+	public ArcZero(Place place, int value) {
+		super(place, value);
+	}
+	
+	public void doTransition() {
+	}
+	public boolean isActive() {
+		return (this.getPlace().getToken()==0);
+	}
+	public boolean isPullable() {
+		return this.isActive();
+	}
+	public String toString() {
+		return "ArcZero, "+this.getPlace(); 
+	}
+
+
+}

Property changes on: petri/src/arcElement/ArcZero.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcZeroTest.java
===================================================================
--- petri/src/arcElement/ArcZeroTest.java	(revision 0)
+++ petri/src/arcElement/ArcZeroTest.java	(revision 4)
@@ -0,0 +1,46 @@
+package arcElement;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place;
+import element.Place.UndefinedToken;
+
+class ArcZeroTest {
+
+	@Test
+	void testToString() throws UndefinedToken {
+		ArcZero ao = new ArcZero (new Place(3), 2);
+		Place p = new Place(3);
+		assertEquals("ArcZero, "+p.toString(), ao.toString());
+	}
+
+	@Test
+	void testDoTransition() {
+		
+	}
+
+	@Test
+	void testIsActive() throws UndefinedToken {
+		ArcZero ao1 = new ArcZero (new Place(3), 2);
+		assertFalse(ao1.isActive());
+		ArcZero ao2 = new ArcZero (new Place(0), 2);
+		assertTrue(ao2.isActive());
+	}
+
+	@Test
+	void testIsPullable() throws UndefinedToken {
+		ArcZero ao1 = new ArcZero (new Place(3), 2);
+		assertFalse(ao1.isPullable());
+		ArcZero ao2 = new ArcZero (new Place(0), 2);
+		assertTrue(ao2.isPullable());
+	}
+
+	@Test
+	void testArcZero() throws UndefinedToken {
+		ArcZero ao = new ArcZero(new Place(3), 2);
+		assertEquals(ArcZero.class, ao.getClass());
+	}
+
+}

Property changes on: petri/src/arcElement/ArcZeroTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/arcElement/ArcInterface.java
===================================================================
--- petri/src/arcElement/ArcInterface.java	(revision 0)
+++ petri/src/arcElement/ArcInterface.java	(revision 4)
@@ -0,0 +1,9 @@
+package arcElement;
+
+public interface ArcInterface {
+	
+	public void doTransition();
+	public boolean isPullable();
+	public boolean isActive();
+
+}

Property changes on: petri/src/arcElement/ArcInterface.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/main/Network.java
===================================================================
--- petri/src/main/Network.java	(revision 3)
+++ petri/src/main/Network.java	(revision 4)
@@ -4,12 +4,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import arc.Arc;
-import arc.ArcCleaner;
-import arc.ArcEntering;
-import arc.ArcOutering;
-import arc.ArcZero;
+import arcElement.Arc;
+import arcElement.ArcCleaner;
+import arcElement.ArcEntering;
+import arcElement.ArcOutering;
+import arcElement.ArcZero;
 import element.Place;
+import element.Place.UndefinedToken;
 import element.Transition;
 
 public class Network {
@@ -31,7 +32,7 @@
 		Transition transition = new Transition();
 		listTransition.add(transition);
 	}
-	public void addPlace(int value) {
+	public void addPlace(int value) throws UndefinedToken {
 		Place place = new Place(value);
 		placeList.add(place);
 	}
@@ -94,7 +95,7 @@
 		res=res+"]";
 		return res;
 	}
-	public static void main(String[] args) {
+	public static void main(String[] args) throws UndefinedToken {
 		
 		Network n0=new Network();
 		n0.addPlace(5);
@@ -178,4 +179,14 @@
 
 	}
 
+
+	public List<Place> getPlaceList() {
+		return placeList;
+	}
+
+
+	public List<Transition> getListTransition() {
+		return listTransition;
+	}
+
 }
Index: petri/src/main/NetworkTest.java
===================================================================
--- petri/src/main/NetworkTest.java	(revision 0)
+++ petri/src/main/NetworkTest.java	(revision 4)
@@ -0,0 +1,71 @@
+package main;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import arcElement.ArcOutering;
+import element.Place;
+import element.Place.UndefinedToken;
+import element.Transition;
+
+class NetworkTest {
+
+	@Test
+	void testNetwork() {
+		Network n= new Network();
+		assertEquals(Network.class, n.getClass());
+	}
+
+	@Test
+	void testAddTransition() throws UndefinedToken {
+		Network n= new Network();
+		n.addTransition();
+		assertEquals(1,n.getListTransition().size());
+		assertEquals(Transition.class, n.getListTransition().get(0).getClass());
+	}
+
+	@Test
+	void testAddPlace() throws UndefinedToken {
+		Network n= new Network();
+		n.addPlace(3);
+		assertEquals(1,n.getPlaceList().size());
+		assertEquals(Place.class, n.getPlaceList().get(0).getClass());	}
+
+	@Test
+	void testAddArc() throws UndefinedToken {
+		Network n= new Network();
+		ArcOutering ao =new ArcOutering(new Place(3), 4);
+		n.addTransition();
+		n.addPlace(3);
+		n.addArc(n.getListTransition().get(0), n.getPlaceList().get(0), 4, Network.ArcOutering);
+		assertEquals(n.getListTransition().get(0).getArcList().get(0).toString(), ao.toString());
+	}
+
+	@Test
+	void testDeleteArc() {
+		
+	}
+
+	@Test
+	void testDeletePlace() {
+		
+	}
+
+	@Test
+	void testDeleteTransition() {
+		
+	}
+
+	@Test
+	void testFire() {
+		
+	}
+
+	@Test
+	void testToString() {
+		
+	}
+
+
+}

Property changes on: petri/src/main/NetworkTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/element/Transition.java
===================================================================
--- petri/src/element/Transition.java	(revision 3)
+++ petri/src/element/Transition.java	(revision 4)
@@ -3,10 +3,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import arc.Arc;
-import arc.ArcEntering;
-import arc.ArcOutering;
+import arcElement.Arc;
 
+
 public class Transition {
 	
 	
@@ -46,29 +45,6 @@
 	public List<Arc> getArcList(){
 		return this.arcList;
 	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS TRANSITION");
-		
-		Transition t1=new Transition();
-		t1.arcList.add(new ArcOutering(new Place(4), 2));
-		t1.arcList.add(new ArcEntering(new Place(4), 1));
 
-		Transition t2=new Transition();
-		t2.arcList.add(new ArcOutering(new Place(2), 3));
-		t2.arcList.add(new ArcEntering(new Place(2), 3));
-	
-		System.out.println(" => method isPullable()");
 
-		System.out.println(t1);
-		System.out.println("true : "+t1.isPullable());
-		System.out.println(t2);
-		System.out.println("false : "+t2.isPullable());
-		
-		System.out.println(" => method doTranstion()");
-		System.out.println("before : "+t1);
-		t1.doTransition();
-		System.out.println("after  : "+t1);
-
-
-	}
 }
Index: petri/src/element/TransitionTest.java
===================================================================
--- petri/src/element/TransitionTest.java	(revision 0)
+++ petri/src/element/TransitionTest.java	(revision 4)
@@ -0,0 +1,61 @@
+package element;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import arcElement.ArcEntering;
+import arcElement.ArcOutering;
+import element.Place.UndefinedToken;
+
+class TransitionTest {
+
+	@Test
+	void testToString() throws UndefinedToken {
+		Transition t = new Transition();
+		ArcOutering ao =new ArcOutering(new Place(3),5);
+		t.getArcList().add(ao);
+		assertEquals(" ["+ao.toString() +" // ] ",t.toString());
+	}
+
+	@Test
+	void testTransition() {
+		Transition t = new Transition();
+		assertEquals(Transition.class, t.getClass());
+	}
+
+	@Test
+	void testIsPullable() throws UndefinedToken {
+		//case 1 is not pullable
+		Transition t = new Transition();
+		ArcOutering ao =new ArcOutering(new Place(3),5);
+		t.getArcList().add(ao);
+		assertFalse(t.isPullable());
+		//case 2 is pullable
+		Transition t1 = new Transition();
+		ArcEntering ae =new ArcEntering(new Place(3),5);
+		t1.getArcList().add(ae);
+		assertTrue(t1.isPullable());
+	}
+
+	@Test
+	void testDoTransition() throws UndefinedToken {
+		Transition t1 = new Transition();
+		Place p=new Place(3);
+		ArcEntering ae =new ArcEntering(p,5);
+		t1.getArcList().add(ae);
+		t1.doTransition();
+		assertEquals(8,p.getToken());
+	}
+
+	@Test
+	void testGetArcList() throws UndefinedToken {
+		Transition t = new Transition();
+		ArcOutering ao =new ArcOutering(new Place(3),5);
+		t.getArcList().add(ao);
+		assertEquals(ao,t.getArcList().get(0));
+
+	}
+
+}

Property changes on: petri/src/element/TransitionTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/src/element/Place.java
===================================================================
--- petri/src/element/Place.java	(revision 3)
+++ petri/src/element/Place.java	(revision 4)
@@ -1,10 +1,23 @@
 package element;
 
+
+
 public class Place {
 	
 	private int token;
 	
-	public Place(int token) {
+	@SuppressWarnings("serial")
+	public class UndefinedToken extends Exception{
+		public UndefinedToken() {
+			super("the token cannot take a value <0");
+		}
+		
+	}
+
+	public Place(int token) throws UndefinedToken{
+		if(token<0) {
+			throw new UndefinedToken();
+		}
 		this.token=token;
 	}
 	
@@ -31,27 +44,5 @@
 			return false;
 		}
 	}
-	public static void main(String[] args) {
-		System.out.println("TEST METHODS PLACE");
-		
-		System.out.println(" => method isEmpty()");
-		Place emptyPlace = new Place(0);
-		System.out.println("true : "+emptyPlace.isEmpty());
-		Place notEmptyPlace = new Place(2);
-		System.out.println("true : "+notEmptyPlace.isEmpty());
-	
-		System.out.println(" => method changeToken(int i)");
-		Place place3 = new Place(3);
-		place3.changeToken(5);
-		System.out.println("3 + 5 = "+place3.getToken());
-		place3.changeToken(-4);
-		System.out.println("8 - 4 = "+place3.getToken());
-		
-		System.out.println(" => method equals()");
-		Place place1 = new Place(0);
-		Place place2 = new Place(0);
-		System.out.println("true : "+place1.equals(place1));
-		System.out.println("false : "+place1.equals(place2));
-	}
 
 }
Index: petri/src/element/PlaceTest.java
===================================================================
--- petri/src/element/PlaceTest.java	(revision 0)
+++ petri/src/element/PlaceTest.java	(revision 4)
@@ -0,0 +1,67 @@
+package element;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import element.Place.UndefinedToken;
+
+class PlaceTest {
+	
+	@Test
+	void testPlace() {
+		try {
+			new Place(-3);
+			fail("the place can't have a value <0 for the token");
+		} catch (UndefinedToken e) {
+		}
+
+	}
+
+	@Test
+	void testGetToken() {
+		
+		try {
+			Place p = new Place(3);
+			assertEquals(3, p.getToken());
+		} catch (UndefinedToken e) {
+
+		}
+	}
+
+	@Test
+	void testToString() {
+		try {
+			Place p = new Place(3);
+			assertEquals("Place Token : 3", p.toString());
+		} catch (UndefinedToken e) {
+			
+		}
+		
+	}
+
+	@Test
+	void testIsEmpty() throws UndefinedToken{
+		Place p1 = new Place(3);
+		Place p2 = new Place(0);
+		assertTrue(p2.isEmpty());
+		assertFalse(p1.isEmpty());
+	}
+
+	@Test
+	void testChangeToken() throws UndefinedToken{
+		Place p1 = new Place(3);
+		p1.changeToken(2);
+		assertEquals(5,p1.getToken());
+	}
+
+	@Test
+	void testEqualsObject() throws UndefinedToken {
+		Place p1 = new Place(3);
+		Place p3 = new Place(3);
+		
+		assertTrue(p1.equals(p1));
+		assertFalse(p1.equals(p3));
+	}
+
+}

Property changes on: petri/src/element/PlaceTest.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: petri/.classpath
===================================================================
--- petri/.classpath	(revision 3)
+++ petri/.classpath	(revision 4)
@@ -2,5 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
