From 69a32c5ac92c591c515a63182b69542318d4e3f5 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 14 May 2022 12:16:44 -0400 Subject: [PATCH] Cleanup/Outline utility methods --- .../mindustry/ctype/UnlockableContent.java | 13 +++++++ .../java/power/ConsumeGeneratorTests.java | 34 +++---------------- 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/core/src/mindustry/ctype/UnlockableContent.java b/core/src/mindustry/ctype/UnlockableContent.java index 15dc0f8d01..db3acfdbc0 100644 --- a/core/src/mindustry/ctype/UnlockableContent.java +++ b/core/src/mindustry/ctype/UnlockableContent.java @@ -106,6 +106,19 @@ public abstract class UnlockableContent extends MappableContent{ } } + protected void makeOutline(MultiPacker packer, TextureRegion region, String name, Color outlineColor, int outlineRadius){ + if(region.found()){ + PixmapRegion base = Core.atlas.getPixmap(region); + var result = Pixmaps.outline(base, outlineColor, outlineRadius); + Drawf.checkBleed(result); + packer.add(PageType.main, name, result); + } + } + + protected void makeOutline(MultiPacker packer, TextureRegion region, String name, Color outlineColor){ + makeOutline(packer, region, name, outlineColor, 4); + } + /** @return items needed to research this content */ public ItemStack[] researchRequirements(){ return ItemStack.empty; diff --git a/tests/src/test/java/power/ConsumeGeneratorTests.java b/tests/src/test/java/power/ConsumeGeneratorTests.java index ac43bada17..f2dcf1e53b 100644 --- a/tests/src/test/java/power/ConsumeGeneratorTests.java +++ b/tests/src/test/java/power/ConsumeGeneratorTests.java @@ -13,8 +13,6 @@ import mindustry.world.blocks.power.ConsumeGenerator.*; import mindustry.world.consumers.*; import org.junit.jupiter.api.*; -import java.util.*; - import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.DynamicTest.*; @@ -24,8 +22,6 @@ import static org.junit.jupiter.api.DynamicTest.*; * Any expected power amount (produced, consumed, buffered) should be affected by fakeDelta but status should not! */ public class ConsumeGeneratorTests extends PowerTestFixture{ - private ConsumeGenerator generator; - private Tile tile; private ConsumeGeneratorBuild build; private final float fakeItemDuration = 60f; //ticks private final float maximumLiquidUsage = 1f; @@ -33,7 +29,7 @@ public class ConsumeGeneratorTests extends PowerTestFixture{ public void createGenerator(InputType inputType){ Vars.state = new GameState(); Vars.state.rules = new Rules(); - generator = new ConsumeGenerator("fakegen" + System.nanoTime()){{ + ConsumeGenerator generator = new ConsumeGenerator("fakegen" + System.nanoTime()){{ powerProduction = 0.1f; itemDuration = fakeItemDuration; buildType = ConsumeGeneratorBuild::new; @@ -49,24 +45,10 @@ public class ConsumeGeneratorTests extends PowerTestFixture{ }}; generator.init(); - tile = createFakeTile(0, 0, generator); + Tile tile = createFakeTile(0, 0, generator); build = (ConsumeGeneratorBuild)tile.build; } - //require = 1 - //provided = 0.25 - //delta = 0.5 (half speed) - //scaled requirement = 1 * 0.5 = 0.5 - //efficiency = provided / required = 0.25 / 0.5 = 0.5 - //-> ??? - - //require = 1 - //provided = 0.25 - //delta = 1 (full speed) - //scaled requirement = 1 * 1 = 1 - //efficiency = provided / required = 0.25 - //-> makes sense, you're running at double speed without doubling input - /** Tests the consumption and efficiency when being supplied with liquids. */ @TestFactory DynamicTest[] generatorWorksProperlyWithLiquidInput(){ @@ -137,7 +119,7 @@ public class ConsumeGeneratorTests extends PowerTestFixture{ //InputType.any }; - ArrayList tests = new ArrayList<>(); + Seq tests = new Seq<>(); for(InputType inputType : inputTypesToBeTested){ tests.add(dynamicTest("01", () -> simulateItemConsumption(inputType, Items.coal, 0, "No items provided"))); tests.add(dynamicTest("02", () -> simulateItemConsumption(inputType, Items.coal, 1, "Sufficient coal provided"))); @@ -146,9 +128,7 @@ public class ConsumeGeneratorTests extends PowerTestFixture{ tests.add(dynamicTest("05", () -> simulateItemConsumption(inputType, Items.sporePod, 1, "Biomatter provided"))); tests.add(dynamicTest("06", () -> simulateItemConsumption(inputType, Items.pyratite, 1, "Pyratite provided"))); } - DynamicTest[] testArray = new DynamicTest[tests.size()]; - testArray = tests.toArray(testArray); - return testArray; + return tests.toArray(DynamicTest.class); } void simulateItemConsumption(InputType inputType, Item item, int amount, String parameterDescription){ @@ -176,12 +156,6 @@ public class ConsumeGeneratorTests extends PowerTestFixture{ testItemDuration(InputType.items); } - /** Makes sure the efficiency stays equal during the item duration. */ - @Test - void efficiencyRemainsConstantWithinItemDuration_ItemsAndLiquids(){ - //testItemDuration(InputType.any); - } - void testItemDuration(InputType inputType){ createGenerator(inputType);