Refactored tests
This commit is contained in:
parent
c6b7feddc5
commit
87b89029ba
@ -1,7 +1,9 @@
|
|||||||
package ru.dragonestia.picker.picker;
|
package ru.dragonestia.picker.picker;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.Order;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.Timeout;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
@ -12,8 +14,6 @@ import ru.dragonestia.picker.repository.RoomRepository;
|
|||||||
import ru.dragonestia.picker.repository.UserRepository;
|
import ru.dragonestia.picker.repository.UserRepository;
|
||||||
import ru.dragonestia.picker.util.UserFiller;
|
import ru.dragonestia.picker.util.UserFiller;
|
||||||
|
|
||||||
import java.time.Duration;
|
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@Import({FillingNodesConfig.class, UserFiller.class})
|
@Import({FillingNodesConfig.class, UserFiller.class})
|
||||||
public class RoundRobinTests {
|
public class RoundRobinTests {
|
||||||
@ -31,9 +31,10 @@ public class RoundRobinTests {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private Node node;
|
private Node node;
|
||||||
|
|
||||||
|
@Timeout(value = 1, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
|
||||||
|
@Order(1)
|
||||||
@Test
|
@Test
|
||||||
void testPickingRoundRobin() {
|
void testFirstPicking() { // Take 2 users. expected take 'room-2-0'
|
||||||
{ // first iteration. Take 2 users. expected take 'room-2-0'
|
|
||||||
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(2));
|
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(2));
|
||||||
Assertions.assertTrue(roomOpt.isPresent());
|
Assertions.assertTrue(roomOpt.isPresent());
|
||||||
|
|
||||||
@ -45,7 +46,10 @@ public class RoundRobinTests {
|
|||||||
Assertions.assertEquals("room-2-0", room.getId());
|
Assertions.assertEquals("room-2-0", room.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // second iteration. Take 2 users. expected take 'room-2-1'
|
@Timeout(value = 1, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
|
||||||
|
@Order(2)
|
||||||
|
@Test
|
||||||
|
void testSecondPicking() { // Take 2 users. expected take 'room-2-1'
|
||||||
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(2));
|
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(2));
|
||||||
Assertions.assertTrue(roomOpt.isPresent());
|
Assertions.assertTrue(roomOpt.isPresent());
|
||||||
|
|
||||||
@ -57,7 +61,10 @@ public class RoundRobinTests {
|
|||||||
Assertions.assertEquals("room-2-1", room.getId());
|
Assertions.assertEquals("room-2-1", room.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // third iteration. Take 1 user. expected take 'room-2-2'
|
@Timeout(value = 1, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
|
||||||
|
@Order(3)
|
||||||
|
@Test
|
||||||
|
void testThirdPicking() { // Take 1 user. expected take 'room-2-2'
|
||||||
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(1));
|
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(1));
|
||||||
Assertions.assertTrue(roomOpt.isPresent());
|
Assertions.assertTrue(roomOpt.isPresent());
|
||||||
|
|
||||||
@ -69,7 +76,10 @@ public class RoundRobinTests {
|
|||||||
Assertions.assertEquals("room-2-2", room.getId());
|
Assertions.assertEquals("room-2-2", room.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // fourth iteration. Take 4 users. expected take 'room-2-2'
|
@Timeout(value = 1, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
|
||||||
|
@Order(4)
|
||||||
|
@Test
|
||||||
|
void testFourthPicking() { // Take 4 users. expected take 'room-2-2'
|
||||||
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(4));
|
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(4));
|
||||||
Assertions.assertTrue(roomOpt.isPresent());
|
Assertions.assertTrue(roomOpt.isPresent());
|
||||||
|
|
||||||
@ -81,11 +91,11 @@ public class RoundRobinTests {
|
|||||||
Assertions.assertEquals("room-4-0", room.getId());
|
Assertions.assertEquals("room-4-0", room.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
{ // fifth iteration. Take 9 users. expected none result
|
@Timeout(value = 1, threadMode = Timeout.ThreadMode.SEPARATE_THREAD)
|
||||||
Assertions.assertTimeoutPreemptively(Duration.ofSeconds(1), () -> {
|
@Order(5)
|
||||||
|
@Test
|
||||||
|
void testNoOneRoomExpected() { // Take 9 users. expected none result
|
||||||
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(9));
|
var roomOpt = roomRepository.pickFree(node, userFiller.createRandomUsers(9));
|
||||||
Assertions.assertTrue(roomOpt.isEmpty());
|
Assertions.assertTrue(roomOpt.isEmpty());
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user