Turn into a unit test to avoid main()
This commit is contained in:
		
							parent
							
								
									5df3c5711a
								
							
						
					
					
						commit
						2e60ba5007
					
				| @ -1,7 +1,7 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||||
|     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|     <modelVersion>4.0.0</modelVersion> |     <modelVersion>4.0.0</modelVersion> | ||||||
|     <artifactId>timefold-solver</artifactId> |     <artifactId>timefold-solver</artifactId> | ||||||
|     <name>timefold-solver</name> |     <name>timefold-solver</name> | ||||||
|  | |||||||
| @ -24,6 +24,7 @@ class ShiftScheduleConstraintProviderUnitTest { | |||||||
|             // To avoid that, use forEachUniquePair() in the constraint instead. |             // To avoid that, use forEachUniquePair() in the constraint instead. | ||||||
|             .penalizesBy(2); |             .penalizesBy(2); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     @Test |     @Test | ||||||
|     void whenTwoShiftsOnDifferentDays_thenDoNotPenalize() { |     void whenTwoShiftsOnDifferentDays_thenDoNotPenalize() { | ||||||
|         Employee ann = new Employee("Ann", null); |         Employee ann = new Employee("Ann", null); | ||||||
|  | |||||||
| @ -5,18 +5,21 @@ import java.time.LocalDate; | |||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Set; | import java.util.Set; | ||||||
| 
 | 
 | ||||||
|  | import org.junit.jupiter.api.Test; | ||||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||||
| 
 | 
 | ||||||
| import ai.timefold.solver.core.api.solver.Solver; | import ai.timefold.solver.core.api.solver.Solver; | ||||||
| import ai.timefold.solver.core.api.solver.SolverFactory; | import ai.timefold.solver.core.api.solver.SolverFactory; | ||||||
| import ai.timefold.solver.core.config.solver.SolverConfig; | import ai.timefold.solver.core.config.solver.SolverConfig; | ||||||
|  | import ai.timefold.solver.core.config.solver.termination.TerminationConfig; | ||||||
| 
 | 
 | ||||||
| public class ShiftScheduleApp { | public class ShiftScheduleSolverUnitTest { | ||||||
| 
 | 
 | ||||||
|     private static final Logger logger = LoggerFactory.getLogger(ShiftScheduleApp.class); |     private static final Logger logger = LoggerFactory.getLogger(ShiftScheduleSolverUnitTest.class); | ||||||
| 
 | 
 | ||||||
|     public static void main(String[] args) { |     @Test | ||||||
|  |     public void solve() { | ||||||
|         SolverFactory<ShiftSchedule> solverFactory = SolverFactory.create(new SolverConfig().withSolutionClass(ShiftSchedule.class) |         SolverFactory<ShiftSchedule> solverFactory = SolverFactory.create(new SolverConfig().withSolutionClass(ShiftSchedule.class) | ||||||
|             .withEntityClasses(Shift.class) |             .withEntityClasses(Shift.class) | ||||||
|             .withConstraintProviderClass(ShiftScheduleConstraintProvider.class) |             .withConstraintProviderClass(ShiftScheduleConstraintProvider.class) | ||||||
| @ -30,7 +33,7 @@ public class ShiftScheduleApp { | |||||||
|         printSolution(solution); |         printSolution(solution); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private static ShiftSchedule loadProblem() { |     private ShiftSchedule loadProblem() { | ||||||
|         LocalDate monday = LocalDate.of(2030, 4, 1); |         LocalDate monday = LocalDate.of(2030, 4, 1); | ||||||
|         LocalDate tuesday = LocalDate.of(2030, 4, 2); |         LocalDate tuesday = LocalDate.of(2030, 4, 2); | ||||||
|         return new ShiftSchedule( |         return new ShiftSchedule( | ||||||
| @ -40,7 +43,7 @@ public class ShiftScheduleApp { | |||||||
|                 new Shift(tuesday.atTime(14, 0), tuesday.atTime(22, 0), "Bartender"))); |                 new Shift(tuesday.atTime(14, 0), tuesday.atTime(22, 0), "Bartender"))); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private static void printSolution(ShiftSchedule solution) { |     private void printSolution(ShiftSchedule solution) { | ||||||
|         logger.info("Shift assignments"); |         logger.info("Shift assignments"); | ||||||
|         for (Shift shift : solution.getShifts()) { |         for (Shift shift : solution.getShifts()) { | ||||||
|             logger.info("  " + shift.getStart() |             logger.info("  " + shift.getStart() | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user