package com.willwinder.universalgcodesender.gcode.processors; import com.willwinder.universalgcodesender.gcode.GcodeState; import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; /** * * @author wwinder */ public class CommandProcessorTests { public CommandProcessorTests() { } @Before public void setUp() { } @After public void tearDown() { } /** * Test of processCommand method, of class CommandLengthProcessor. */ @Test public void testCommandSplitter() throws Exception { System.out.println("CommandSplitter"); CommandSplitter instance = new CommandSplitter(); List<String> result; result = instance.processCommand("G17 G20 G54 G90", null); assertEquals(4, result.size()); assertEquals("G17", result.get(0)); assertEquals("G20", result.get(1)); assertEquals("G54", result.get(2)); assertEquals("G90", result.get(3)); result = instance.processCommand("M3 S1000", null); assertEquals(2, result.size()); assertEquals("M3", result.get(0)); assertEquals("S1000", result.get(1)); result = instance.processCommand("X0 Y10 F300", null); assertEquals(1, result.size()); assertEquals("X0 Y10 F300", result.get(0)); result = instance.processCommand("T0 M6", null); assertEquals(2, result.size()); assertEquals("T0", result.get(0)); assertEquals("M6", result.get(1)); } /** * Processor: WhitespaceProcessor */ @Test public void testWhitespaceProcessor() { System.out.println("WhitespaceProcessor"); String command; String expResult; List<String> result; WhitespaceProcessor wp = new WhitespaceProcessor(); // Normal case. command = "G1 X1.234 Y0.9994 Z123"; expResult = "G1X1.234Y0.9994Z123"; result = wp.processCommand(command, null); assertEquals(1, result.size()); assertEquals(expResult, result.get(0)); // Odd case (newlines, spaces, hard tabs). command = "\nG1 \n X1.234 Y0.9994 Z123 \n "; expResult = "G1X1.234Y0.9994Z123"; result = wp.processCommand(command, null); assertEquals(1, result.size()); assertEquals(expResult, result.get(0)); } /** * Processor: CommentProcessor */ @Test public void testCommentProcessor() { System.out.println("removeComment"); String command; String expResult; List<String> result; CommentProcessor cp = new CommentProcessor(); command = "some command ;comment"; expResult = "some command"; result = cp.processCommand(command, null); assertEquals(expResult, result.get(0)); command = "some (comment here) command ;comment"; expResult = "some command"; result = cp.processCommand(command, null); assertEquals(expResult, result.get(0)); command = "some command %"; expResult = "some command "; result = cp.processCommand(command, null); assertEquals(expResult, result.get(0)); } }