1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.appointment.modules.solr.service;
35
36 import java.time.LocalDateTime;
37 import java.util.ArrayList;
38 import java.util.List;
39
40 import fr.paris.lutece.plugins.appointment.business.slot.Slot;
41 import fr.paris.lutece.test.LuteceTestCase;
42
43 public class SlotUtilTest extends LuteceTestCase
44 {
45 public void testCalculateConsecutiveSlots( )
46 {
47 LocalDateTime l6am = LocalDateTime.now( ).withHour( 6 ).withMinute( 0 ).withSecond( 0 );
48 LocalDateTime l7am = LocalDateTime.now( ).withHour( 7 ).withMinute( 0 ).withSecond( 0 );
49 LocalDateTime l8am = LocalDateTime.now( ).withHour( 8 ).withMinute( 0 ).withSecond( 0 );
50 LocalDateTime l9am = LocalDateTime.now( ).withHour( 9 ).withMinute( 0 ).withSecond( 0 );
51 LocalDateTime l10am = LocalDateTime.now( ).withHour( 10 ).withMinute( 0 ).withSecond( 0 );
52 LocalDateTime l11am = LocalDateTime.now( ).withHour( 11 ).withMinute( 0 ).withSecond( 0 );
53
54 Slot slot1 = new Slot( );
55 slot1.setStartingDateTime( l6am );
56 slot1.setEndingDateTime( l7am );
57 slot1.setNbPotentialRemainingPlaces( 2 );
58
59 Slot slot2 = new Slot( );
60 slot2.setStartingDateTime( l7am );
61 slot2.setEndingDateTime( l8am );
62 slot2.setNbPotentialRemainingPlaces( 1 );
63
64 Slot slot3 = new Slot( );
65 slot3.setStartingDateTime( l8am );
66 slot3.setEndingDateTime( l9am );
67 slot3.setNbPotentialRemainingPlaces( 0 );
68
69 Slot slot4 = new Slot( );
70 slot4.setStartingDateTime( l10am );
71 slot4.setEndingDateTime( l11am );
72 slot4.setNbPotentialRemainingPlaces( 1 );
73
74 List<Slot> allSlots = new ArrayList<>( );
75 allSlots.add( slot1 );
76 allSlots.add( slot2 );
77 allSlots.add( slot3 );
78 allSlots.add( slot4 );
79
80 assertEquals( 2, SlotUtil.calculateConsecutiveSlots( slot1, allSlots ) );
81 assertEquals( 1, SlotUtil.calculateConsecutiveSlots( slot2, allSlots ) );
82 assertEquals( 0, SlotUtil.calculateConsecutiveSlots( slot3, allSlots ) );
83 assertEquals( 1, SlotUtil.calculateConsecutiveSlots( slot4, allSlots ) );
84 }
85 }