2024-04-12 02:59:19 +00:00
|
|
|
|
package com.example.catchTheLetters;
|
|
|
|
|
|
2024-04-13 08:00:31 +00:00
|
|
|
|
import com.example.catchTheLetters.controller.LevelController;
|
2024-04-12 02:59:19 +00:00
|
|
|
|
import com.example.catchTheLetters.entity.Level;
|
|
|
|
|
import com.example.catchTheLetters.service.LevelService;
|
|
|
|
|
import jakarta.annotation.Resource;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
2024-04-13 08:00:31 +00:00
|
|
|
|
import java.util.List;
|
2024-04-12 02:59:19 +00:00
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
|
|
@SpringBootTest
|
|
|
|
|
class TestInsertLevel {
|
|
|
|
|
|
|
|
|
|
@Resource
|
2024-04-13 08:00:31 +00:00
|
|
|
|
private LevelController levelController;
|
|
|
|
|
|
|
|
|
|
private final List<String> words = new ArrayList<>() {
|
|
|
|
|
{
|
|
|
|
|
add("apple");
|
|
|
|
|
add("banana");
|
|
|
|
|
add("cherry");
|
|
|
|
|
add("date");
|
|
|
|
|
add("elderberry");
|
|
|
|
|
add("fig");
|
|
|
|
|
add("grape");
|
|
|
|
|
add("honeydew");
|
|
|
|
|
add("imbe");
|
|
|
|
|
add("jackfruit");
|
|
|
|
|
add("kiwi");
|
|
|
|
|
add("lemon");
|
|
|
|
|
add("mango");
|
|
|
|
|
add("nectarine");
|
|
|
|
|
add("orange");
|
|
|
|
|
add("papaya");
|
|
|
|
|
add("quince");
|
|
|
|
|
add("raspberry");
|
|
|
|
|
add("strawberry");
|
|
|
|
|
add("tangerine");
|
|
|
|
|
add("ugli");
|
|
|
|
|
add("vanilla");
|
|
|
|
|
add("watermelon");
|
|
|
|
|
add("ximenia");
|
|
|
|
|
add("yuzu");
|
|
|
|
|
add("zucchini");
|
|
|
|
|
}
|
|
|
|
|
};
|
2024-04-12 02:59:19 +00:00
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void testInsertLevel() {
|
|
|
|
|
// 存20个关卡
|
|
|
|
|
for (int i = 0; i < 20; i++) {
|
|
|
|
|
var type = new Random().nextInt(2);
|
|
|
|
|
// 如果是1,则需要设置目标分数
|
|
|
|
|
var targetScore = type == 1 ? new Random().nextInt(100) : null;
|
|
|
|
|
// 如果是0,则单词列表5个就够,否则15个
|
|
|
|
|
var wordList = new ArrayList<String>();
|
|
|
|
|
for (int j = 0; j < (type == 0 ? 5 : 15); j++) {
|
|
|
|
|
wordList.add(words.get(new Random().nextInt(words.size())));
|
|
|
|
|
}
|
|
|
|
|
// 时间全部设置为3分钟
|
2024-04-13 08:00:31 +00:00
|
|
|
|
var level = new Level(Integer.toString(i), i, "Level " + i, type, 180000L, targetScore, wordList);
|
2024-04-12 02:59:19 +00:00
|
|
|
|
|
2024-04-13 08:00:31 +00:00
|
|
|
|
levelController.create(level);
|
2024-04-12 02:59:19 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2024-04-13 08:00:31 +00:00
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void insertALevel() {
|
|
|
|
|
var type = new Random().nextInt(2);
|
|
|
|
|
// 如果是1,则需要设置目标分数
|
|
|
|
|
var targetScore = type == 1 ? new Random().nextInt(100) : null;
|
|
|
|
|
// 如果是0,则单词列表5个就够,否则15个
|
|
|
|
|
var wordList = new ArrayList<String>();
|
|
|
|
|
for (int j = 0; j < (type == 0 ? 5 : 15); j++) {
|
|
|
|
|
wordList.add(words.get(new Random().nextInt(words.size())));
|
|
|
|
|
}
|
|
|
|
|
// 时间全部设置为3分钟
|
2024-04-13 10:05:22 +00:00
|
|
|
|
var level = new Level("21", 21, "Level 21", type, 180000L, targetScore, wordList);
|
2024-04-13 08:00:31 +00:00
|
|
|
|
|
|
|
|
|
levelController.create(level);
|
|
|
|
|
}
|
2024-04-12 02:59:19 +00:00
|
|
|
|
}
|