Test empty group and reformat style

This commit is contained in:
alexcrea 2024-11-17 01:44:38 +01:00
parent 101047a25b
commit 9458362453
No known key found for this signature in database
GPG key ID: 43FD265DB0DBF91F
4 changed files with 110 additions and 66 deletions

View file

@ -19,7 +19,8 @@ import java.util.List;
@SuppressWarnings("unused")
public class ConflictAPI {
private ConflictAPI() {}
private ConflictAPI() {
}
private static Object saveChangeTask = null;
private static Object reloadChangeTask = null;
@ -102,7 +103,8 @@ public class ConflictAPI {
List<String> excludedGroups = new ArrayList<>(builder.getExcludedGroupNames());
if (!enchantments.isEmpty()) config.set(basePath + "enchantments", enchantments);
if (!excludedGroups.isEmpty()) config.set(basePath + "notAffectedGroups", excludedGroups);
if(builder.getMaxBeforeConflict() > 0) config.set(basePath + "maxEnchantmentBeforeConflict", builder.getMaxBeforeConflict());
if (builder.getMaxBeforeConflict() > 0)
config.set(basePath + "maxEnchantmentBeforeConflict", builder.getMaxBeforeConflict());
if (!config.isConfigurationSection(name)) return false;
@ -114,6 +116,7 @@ public class ConflictAPI {
/**
* Extract every enchantment names from a builder.
*
* @param builder The builder storing the enchantments
* @return Builder's stored enchantment.
*/
@ -183,6 +186,7 @@ public class ConflictAPI {
/**
* Get every registered conflict.
*
* @return An immutable collection of conflict.
*/
@NotNull

View file

@ -22,7 +22,8 @@ import java.util.*;
@SuppressWarnings("unused")
public class MaterialGroupApi {
private MaterialGroupApi(){}
private MaterialGroupApi() {
}
private static Object saveChangeTask = null;
private static Object reloadChangeTask = null;
@ -225,6 +226,7 @@ public class MaterialGroupApi {
/**
* Get every registered material groups.
*
* @return An immutable map of group name as its key and group as mapped value.
*/
@NotNull

View file

@ -100,6 +100,7 @@ public class ConflictApiTests extends ConfigResetCustomAnvilTest {
void writeGroup_Reload() {
String conflictName = "conflict";
ConflictBuilder builder = new ConflictBuilder(conflictName);
builder.addEnchantment("bane_of_arthropods");
// Group not being set should not exist
assertFalse(doGroupExist(conflictName));
@ -114,6 +115,24 @@ public class ConflictApiTests extends ConfigResetCustomAnvilTest {
assertTrue(doGroupExist(conflictName));
}
@Test
void writeGroup_Empty() {
String conflictName = "conflict";
ConflictBuilder builder = new ConflictBuilder(conflictName);
// Group not being set should not exist
assertFalse(doGroupExist(conflictName));
// Add group and reload
assertFalse(ConflictAPI.writeConflict(builder));
assertFalse(doGroupExist(conflictName));
// Tick so write get reloaded
server.getScheduler().performOneTick();
assertFalse(doGroupExist(conflictName));
}
@Test
void writeGroup_InvalidDot() {
String conflictName = "conflict.conflict";

View file

@ -1,5 +1,6 @@
package xyz.alexcrea.cuanvil.api;
import org.bukkit.Material;
import org.junit.jupiter.api.Test;
import xyz.alexcrea.cuanvil.group.EnchantConflictGroup;
import xyz.alexcrea.cuanvil.group.IncludeGroup;
@ -14,6 +15,7 @@ public class MaterialGroupApiTests extends ConfigResetCustomAnvilTest {
void groupAddAndRemove() {
String groupName = "group";
IncludeGroup group = new IncludeGroup(groupName);
group.addToPolicy(Material.DIAMOND_PICKAXE); // We do not want it to be empty
// Group not being set should not exist
assertFalse(doGroupExist(groupName));
@ -46,6 +48,7 @@ public class MaterialGroupApiTests extends ConfigResetCustomAnvilTest {
void writeGroup_Reload() {
String groupName = "group";
IncludeGroup group = new IncludeGroup(groupName);
group.addToPolicy(Material.DIAMOND_PICKAXE); // We do not want it to be empty
// Group not being set should not exist
assertFalse(doGroupExist(groupName));
@ -63,6 +66,22 @@ public class MaterialGroupApiTests extends ConfigResetCustomAnvilTest {
assertTrue(doGroupCanBeFound(groupName));
}
@Test
void writeGroup_Empty() {
String groupName = "group";
IncludeGroup group = new IncludeGroup(groupName);
// Add group and reload
assertFalse(MaterialGroupApi.writeMaterialGroup(group));
assertFalse(doGroupExist(groupName));
assertFalse(doGroupCanBeFound(groupName));
// Tick so write get reloaded
server.getScheduler().performOneTick();
assertFalse(doGroupExist(groupName));
assertFalse(doGroupCanBeFound(groupName));
}
@Test
void writeGroup_InvalidDot() {