Skip to content

Commit

Permalink
[PlaybackSerialiser] Added test for splittingContainer
Browse files Browse the repository at this point in the history
- Renamed splitComments to splitContainer
  • Loading branch information
ScribbleTAS committed May 23, 2024
1 parent 3a33f3b commit f1fc94e
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 17 deletions.
4 changes: 2 additions & 2 deletions src/main/java/com/minecrafttas/tasmod/TASmodClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import com.minecrafttas.tasmod.playback.metadata.integrated.CreditsMetadataExtension;
import com.minecrafttas.tasmod.playback.metadata.integrated.StartpositionMetadataExtension;
import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.BetaFlavor;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.Beta1Flavor;
import com.minecrafttas.tasmod.savestates.SavestateHandlerClient;
import com.minecrafttas.tasmod.tickratechanger.TickrateChangerClient;
import com.minecrafttas.tasmod.ticksync.TickSyncClient;
Expand Down Expand Up @@ -290,7 +290,7 @@ private void registerPlaybackMetadata(Minecraft mc) {
TASmodRegistry.PLAYBACK_METADATA.register(startpositionMetadataExtension);
}

public static BetaFlavor betaFlavor = new BetaFlavor();
public static Beta1Flavor betaFlavor = new Beta1Flavor();

private void registerSerialiserFlavors(Minecraft mc) {
TASmodRegistry.SERIALISER_FLAVOR.register(betaFlavor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,14 +321,14 @@ protected void deserialiseContainer(BigArrayList<TickInputContainer> out, List<S

List<String> commentLines = new ArrayList<>();
List<String> tickLines = new ArrayList<>();
splitComments(containerLines, commentLines, tickLines);

splitContainer(containerLines, commentLines, tickLines);

List<String> keyboardStrings = new ArrayList<>();
List<String> mouseStrings = new ArrayList<>();
List<String> cameraAngleStrings = new ArrayList<>();
List<String> commentsAtEnd = new ArrayList<>();

splitInputs(containerLines, keyboardStrings, mouseStrings, cameraAngleStrings, commentsAtEnd);

VirtualKeyboard keyboard = deserialiseKeyboard(keyboardStrings);
Expand All @@ -338,14 +338,15 @@ protected void deserialiseContainer(BigArrayList<TickInputContainer> out, List<S

out.add(new TickInputContainer(keyboard, mouse, cameraAngle));
}

/**
* Splits lines into comments before the tick and after
* Splits lines into comments and ticks.
*
* @param lines
*/
protected void splitComments(List<String> lines, List<String> comments, List<String> tick) {
for(String line : lines) {
if(contains(singleComment(), line)) {
protected void splitContainer(List<String> lines, List<String> comments, List<String> tick) {
for (String line : lines) {
if (contains(singleComment(), line)) {
comments.add(line);
} else {
tick.add(line);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.minecrafttas.tasmod.virtual.VirtualKeyboard;
import com.minecrafttas.tasmod.virtual.VirtualMouse;

public class BetaFlavor extends PlaybackFlavorBase {
public class Beta1Flavor extends PlaybackFlavorBase {

@Override
public String flavorName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.minecrafttas.tasmod.playback.metadata.PlaybackMetadataRegistry;
import com.minecrafttas.tasmod.playback.tasfile.flavor.PlaybackFlavorBase;
import com.minecrafttas.tasmod.playback.tasfile.flavor.PlaybackFlavorRegistry;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.BetaFlavor;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.Beta1Flavor;

public class TASmodRegistry {
/**
Expand All @@ -20,7 +20,7 @@ public class TASmodRegistry {
* Registry for registering custom seialiser flavors that dictate the syntax of the inputs stored in the TASfile.<br>
* <br>
* Either create a new flavor by extending {@link PlaybackFlavorBase}<br>
* or extend an existing flavor (like {@link BetaFlavor}) and overwrite parts of the methods.<br>
* or extend an existing flavor (like {@link Beta1Flavor}) and overwrite parts of the methods.<br>
* <br>
* The resulting flavor can be registered here and can be found as a saving option with /saveTAS
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.util.LinkedHashMap;
import java.util.List;

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import com.dselent.bigarraylist.BigArrayList;
Expand Down Expand Up @@ -457,6 +456,36 @@ void testSplitInputs() {
assertIterableEquals(expectedComment, actualComment);
}

/**
* Test split container
*/
@Test
void testSplitContainer() {
List<String> lines = new ArrayList<>();
lines.add("// $interpolation(on);");
lines.add("// Test");
lines.add("55|W,LCONTROL;w|;0,887,626|17.85;-202.74799");
lines.add("\t1||RC;-15,1580,658|11.85;-2.74799");
lines.add("\t2||;0,1580,658|45;-22.799");

List<String> actualComments = new ArrayList<>();
List<String> actualTick = new ArrayList<>();

splitContainer(lines, actualComments, actualTick);

List<String> expectedComments = new ArrayList<>();
List<String> expectedTicks = new ArrayList<>();
expectedComments.add("// $interpolation(on);");
expectedComments.add("// Test");

expectedTicks.add("55|W,LCONTROL;w|;0,887,626|17.85;-202.74799");
expectedTicks.add("\t1||RC;-15,1580,658|11.85;-2.74799");
expectedTicks.add("\t2||;0,1580,658|45;-22.799");

assertIterableEquals(expectedComments, actualComments);
assertIterableEquals(expectedTicks, actualTick);
}

/**
* Test deserialising keyboard
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
import org.junit.jupiter.api.Test;

import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser2;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.BetaFlavor;
import com.minecrafttas.tasmod.playback.tasfile.flavor.integrated.Beta1Flavor;
import com.minecrafttas.tasmod.util.TASmodRegistry;

public class BetaFlavorTest {

private BetaFlavor flavor = new BetaFlavor();
private Beta1Flavor flavor = new Beta1Flavor();

private File file = new File("src/test/resources/betaflavor");

Expand Down

0 comments on commit f1fc94e

Please sign in to comment.