public void AddLine() { MockGCodeAccumulator mockGCA = new MockGCodeAccumulator(); GCodeBuilder gcb = new GCodeBuilder(mockGCA); GCodeLine l = new GCodeLine(100, LineType.Comment); l.Comment = "testComment"; gcb.AddLine(l); Assert.IsTrue(mockGCA.Lines.Count == 1); Assert.AreEqual("testComment", mockGCA.Lines[0].Comment); Assert.AreEqual(LineType.Comment, mockGCA.Lines[0].Type); Assert.AreEqual(0, mockGCA.Lines[0].LineNumber); GCodeLine l2 = new GCodeLine(100, LineType.GCode); l2.Comment = "testComment2"; l2.Code = 10; GCodeParam p = GCodeParam.Double(2.5, "X"); l2.Parameters = new GCodeParam[1] { p }; gcb.AddLine(l2); Assert.IsTrue(mockGCA.Lines.Count == 2); Assert.AreEqual("testComment2", mockGCA.Lines[1].Comment); Assert.AreEqual(10, mockGCA.Lines[1].Code); Assert.AreEqual(LineType.GCode, mockGCA.Lines[1].Type); Assert.AreEqual(1, mockGCA.Lines[1].LineNumber); Assert.AreEqual(p, mockGCA.Lines[1].Parameters[0]); }
public void NotNewLayer_NoComment() { var line = new GCodeLine(0, LineType.GCode); line.Code = 1; line.Parameters = new GCodeParam[] { GCodeParam.Double(200, "X") }; var isNewLine = LineIsNewLayerComment(line, out int index, out double height); Assert.IsFalse(isNewLine); }
public bool ParseParam(string parcode, string stparam) { if (!validParams.Contains(parcode)) { return(false); } // split all axis vals string [] vars = stparam.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries); // see if we already have this param GCodeParam par = GetParam(parcode); if (par == null) { par = new GCodeParam(parcode, vars); parameters.Add(par); } else { par.SetVals(vars); } return(true); }