Test class #42
			
				
			
		
		
		
	|  | @ -26,6 +26,8 @@ dependencies { | ||||||
|     // Use JUnit Jupiter for testing. |     // Use JUnit Jupiter for testing. | ||||||
|     testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' |     testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' | ||||||
| 
 | 
 | ||||||
|  |     testImplementation 'org.mockito:mockito-core:4.3.+' | ||||||
|  | 
 | ||||||
|     // This dependency is used by the application. |     // This dependency is used by the application. | ||||||
|     implementation 'com.google.guava:guava:30.1.1-jre' |     implementation 'com.google.guava:guava:30.1.1-jre' | ||||||
| 
 | 
 | ||||||
|  | @ -37,7 +39,9 @@ application { | ||||||
|     mainClass = 'ch.zhaw.projekt2.turnierverwaltung.App' |     mainClass = 'ch.zhaw.projekt2.turnierverwaltung.App' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| tasks.named('test') { | test { | ||||||
|     // Use JUnit Platform for unit tests. |     // Use JUnit Platform for unit tests. | ||||||
|     useJUnitPlatform() |     useJUnitPlatform() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -29,4 +29,8 @@ public class Place implements Serializable { | ||||||
|     public boolean equals(Place place){ |     public boolean equals(Place place){ | ||||||
|         return name.equals(place.getName()); |         return name.equals(place.getName()); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public void change(Place place) { | ||||||
|  |         //TODO: If Place gets more developt in future releases | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ package ch.zhaw.projekt2.turnierverwaltung; | ||||||
| 
 | 
 | ||||||
| import javafx.collections.FXCollections; | import javafx.collections.FXCollections; | ||||||
| import javafx.collections.ObservableList; | import javafx.collections.ObservableList; | ||||||
|  | 
 | ||||||
| import java.io.Serializable; | import java.io.Serializable; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| 
 | 
 | ||||||
|  | @ -50,8 +51,13 @@ public class Tournament implements Serializable { | ||||||
|         return participantsObservable; |         return participantsObservable; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void addPlace(Place newPlace) throws PlaceExistsException { |     public void addPlace(Place newPlace) { | ||||||
|         places.removeIf(place -> place.equals(newPlace)); |         for (Place place : places) { | ||||||
|  |             if (place.equals(newPlace)) { | ||||||
|  |                 place.change(newPlace); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|         places.add(newPlace); |         places.add(newPlace); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -148,10 +148,6 @@ public class TournamentDecorator implements IsObservable{ | ||||||
|             tournament.addPlace(new Place(name)); |             tournament.addPlace(new Place(name)); | ||||||
|             factoryDecorator.clearMessage(true); |             factoryDecorator.clearMessage(true); | ||||||
|             informListener(); |             informListener(); | ||||||
|         } catch (Tournament.PlaceExistsException e) { |  | ||||||
|             e.printStackTrace(); //TODO handle and logging |  | ||||||
|             factoryDecorator.printMessageToFooter("Ort existiert bereits",true); |  | ||||||
| 
 |  | ||||||
|         } catch (InvalidNameException e) { |         } catch (InvalidNameException e) { | ||||||
|             e.printStackTrace(); //TODO handle and logging |             e.printStackTrace(); //TODO handle and logging | ||||||
|             factoryDecorator.printMessageToFooter("Invalider Ortsname",true); |             factoryDecorator.printMessageToFooter("Invalider Ortsname",true); | ||||||
|  |  | ||||||
|  | @ -0,0 +1,85 @@ | ||||||
|  | package ch.zhaw.projekt2.turnierverwaltung; | ||||||
|  | 
 | ||||||
|  | import javafx.application.Platform; | ||||||
|  | import org.junit.jupiter.api.BeforeEach; | ||||||
|  | import org.junit.jupiter.api.DisplayName; | ||||||
|  | import org.junit.jupiter.api.Nested; | ||||||
|  | import org.junit.jupiter.api.Test; | ||||||
|  | import org.mockito.Mockito; | ||||||
|  | 
 | ||||||
|  | import static org.junit.jupiter.api.Assertions.*; | ||||||
|  | import static org.mockito.ArgumentMatchers.any; | ||||||
|  | import static org.mockito.Mockito.when; | ||||||
|  | 
 | ||||||
|  | @DisplayName("TournamentTest") | ||||||
|  | public class TournamentTest { | ||||||
|  | 
 | ||||||
|  |     @Nested | ||||||
|  |     @DisplayName("KOMode") | ||||||
|  |     public class KOMode { | ||||||
|  |         private Tournament tournament; | ||||||
|  | 
 | ||||||
|  |         @BeforeEach | ||||||
|  |         void setup() { | ||||||
|  |             try { | ||||||
|  |                 tournament = new Tournament("Name", Tournament.Type.KO); | ||||||
|  |             } catch (InvalidNameException e) { | ||||||
|  |                 e.printStackTrace(); | ||||||
|  |                 fail(); | ||||||
|  |             } catch (Tournament.InvalidTypeException e) { | ||||||
|  |                 e.printStackTrace(); | ||||||
|  |                 fail(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Test | ||||||
|  |         @DisplayName("Test invalid instance") | ||||||
|  |         void makeInvalidInstance() { | ||||||
|  |             assertThrows(InvalidNameException.class,() -> new Tournament(".", Tournament.Type.KO)); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Test | ||||||
|  |         @DisplayName("Save Participant") | ||||||
|  |         void saveParticipantTest() { | ||||||
|  |             //Checks if one Participant gets added | ||||||
|  |             Participant participantOne = Mockito.mock(Player.class); | ||||||
|  |             when(participantOne.equals(any(Participant.class))).thenReturn(false); | ||||||
|  |             tournament.saveParticipant(participantOne); | ||||||
|  |             assertEquals(1,tournament.getParticipants().size()); | ||||||
|  | 
 | ||||||
|  |             //Checks if a second Participant gets added | ||||||
|  |             Participant participantTwo = Mockito.mock(Player.class); | ||||||
|  |             tournament.saveParticipant(participantTwo); | ||||||
|  |             assertEquals(2,tournament.getParticipants().size()); | ||||||
|  | 
 | ||||||
|  |             //Checks if a allready added Particpant does not get added | ||||||
|  |             when(participantOne.equals(any(Participant.class))).thenReturn(true); | ||||||
|  |             tournament.saveParticipant(participantTwo); | ||||||
|  |             assertEquals(2,tournament.getParticipants().size()); | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Test | ||||||
|  |         @DisplayName("Remove Participant") | ||||||
|  |         void removeParticipantTest() { | ||||||
|  |             Participant participant = Mockito.mock(Player.class); | ||||||
|  | 
 | ||||||
|  |             //Checks if Error is thrown if Participant not in list | ||||||
|  |             assertThrows(Tournament.ParticipantNotExistsException.class,() -> tournament.removeParticipant(participant)); | ||||||
|  | 
 | ||||||
|  |             //Checks if participant gets removed | ||||||
|  |             tournament.saveParticipant(participant); | ||||||
|  |             assertEquals(1,tournament.getParticipants().size()); | ||||||
|  |             try { | ||||||
|  |                 tournament.removeParticipant(participant); | ||||||
|  |                 assertEquals(0,tournament.getParticipants().size()); | ||||||
|  |             } catch (Tournament.ParticipantNotExistsException e) { | ||||||
|  |                 fail(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue