예제 #1
0
 public void GcodeParserSyntheticTests1()
 {
     foreach (var r in TestSuiteDataSource.TestSyntheticCodes)
     {
         var gcode = GcodeParser.ToGCode(r);
         Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame));
     }
 }
예제 #2
0
        public void GcodeComment()
        {
            const string cmd   = ";> ololo G1 X1 Y1 XZ0 ; this frame comment";
            var          gcode = GcodeParser.ToGCode(cmd);

            var gcodeRes = GcodeParser.ToStringCommand(gcode);

            Assert.AreEqual(cmd, gcodeRes);
        }
예제 #3
0
        public void CheckSumTest4M115()
        {
            var cmd = TestSuiteDataSource.TestSyntheticCodes[6];
            var g   = GcodeParser.ToGCode(cmd);

            g.N = 6;
            var crc = GcodeCrc.FrameCrc(g);

            Assert.IsTrue(crc >= 0, $"{cmd}");
        }
예제 #4
0
        public void CheckSumTest1()
        {
            var cmd = TestSuiteDataSource.TestSyntheticCodes[0];
            var g   = GcodeParser.ToGCode(cmd);

            g.N = 1;
            var crc = GcodeCrc.FrameCrc(g);

            Assert.IsInstanceOfType(crc, typeof(int));
        }
예제 #5
0
        public void GcodeParserTests1()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var r in ds)
            {
                var gcode = GcodeParser.ToGCode(r);
                Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame), $"{r}");
            }
        }
예제 #6
0
 public void CheckSumTest3()
 {
     for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++)
     {
         var cmd = TestSuiteDataSource.TestSyntheticCodes[i];
         var g   = GcodeParser.ToGCode(cmd);
         g.N = i;
         var crc = GcodeCrc.FrameCrc(g);
         Assert.IsTrue(crc >= 0, $"{i} {cmd}");
     }
 }
예제 #7
0
 public void CheckSumTest2()
 {
     for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++)
     {
         var cmd = TestSuiteDataSource.TestSyntheticCodes[i];
         var g   = GcodeParser.ToGCode(cmd);
         g.N = i;
         var crc = GcodeCrc.FrameCrc(g);
         Assert.IsInstanceOfType(crc, typeof(int));
     }
 }
예제 #8
0
        public void ToJsonTest3()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var r in ds)
            {
                var gcode = GcodeParser.ToGCode(r);
                var res   = gcode.ToJson();
                Assert.IsTrue(res.StartsWith("{") && res.EndsWith("}"));
            }
        }
예제 #9
0
        public void GcodeOrderSegmentTest1()
        {
            //M206 T3 P200 X89 ;extruder normal steps per mm
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            gcode.N = 1;
            var dsExpected = $"N{gcode.N} {ds}";
            var res        = GcodeParser.ToStringCommand(gcode);

            Assert.AreEqual(dsExpected, res);
        }
예제 #10
0
        public void GcodeParserTestsCheckSumIcTest1()
        {
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            gcode.N        = 1;
            gcode.CheckSum = GcodeCrc.FrameCrc(gcode);
            var resStr = GcodeParser.ToStringCommand(gcode);

            Assert.IsNotNull(resStr);
            Assert.IsTrue(resStr.Contains($"*{gcode.CheckSum}"));
        }
예제 #11
0
        public void CheckSumTest4()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            for (var i = 1; i < ds.Length; i++)
            {
                var cmd = ds[i];
                var g   = GcodeParser.ToGCode(cmd);
                g.N = i;
                var crc = GcodeCrc.FrameCrc(g);
                Assert.IsTrue(crc >= 0, $"{i} {cmd}");
            }
        }
예제 #12
0
        public void GcodeParserTests2()
        {
            //M206 T3 P200 X89 ; extruder normal steps per mm
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            Assert.IsNotNull(gcode.M);
            Assert.AreEqual(206, gcode.M.Value);
            Assert.IsNotNull(gcode.T);
            Assert.AreEqual(3, gcode.T.Value);
            Assert.IsNotNull(gcode.P);
            Assert.AreEqual(200, gcode.P.Value);
            Assert.IsNotNull(gcode.X);
            Assert.AreEqual(89, gcode.X.Value);
            Assert.AreEqual("extruder normal steps per mm", gcode.Comment);
        }
예제 #13
0
        public void GcodeOrderSegmentTest2()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var d in ds)
            {
                var s = d.Replace("\r", null);
                if (s == ";")
                {
                    continue;
                }
                var gcode          = GcodeParser.ToGCode(s);
                var gcodeStr       = GcodeParser.ToStringCommand(gcode);
                var expectedResult = $"{s}";
                if (string.IsNullOrWhiteSpace(gcode.Comment))
                {
                    Assert.AreEqual(expectedResult.Trim(), gcodeStr.Trim(), gcodeStr.Trim());
                }
            }
        }