Пример #1
0
 protected override void Setup(PositionalSerializer <FilePercentResult> serializer)
 {
     serializer
     .NextDelimiter(':')
     .FixedString("filepercent")
     .Field(x => x.Percent);
 }
Пример #2
0
 protected override void Setup(PositionalSerializer <PrinterInfoResult> serializer)
 {
     // @#getprinterinfor;id:100196;state:11;modelprinting:3DBenchy.gcode;printername:100196;color:1;type:0;version:124;lock:;#@
     serializer
     .FixedString("getprinterinfor")
     .Skip(1)
     .Field(item => item.State)
     .Field(item => item.StatedDescription);
 }
Пример #3
0
 public GetStateParser()
 {
     _positionalSerializer = PositionalSerializer.CreateFor <MigoStateModel>(';')
                             .FixedString("state")
                             .Field(x => x.HeadX)
                             .Field(x => x.HeadY)
                             .Field(x => x.BedTemp)
                             .Field(x => x.NozzleTemp);
 }
Пример #4
0
 protected override void Setup(PositionalSerializer <StartPrintResult> serializer)
 {
     serializer
     .Switch(
         ("printstartsuccess", x => x.Success, true),
         ("printstartfailed", x => x.Success, false)
         )
     .Skip(1);     // skip "fn:(.*)***.gcode"
 }
Пример #5
0
        public void Init()
        {
            _migoStateModel       = new MigoStateModel();
            _positionalSerializer = new PositionalSerializer <MigoStateModel>(';')
                                    .Field(x => x.BedTemp)
                                    .Field(x => x.HeadX);

            _intParser    = _positionalSerializer.GetParser(0).ParserAction;
            _doubleParser = _positionalSerializer.GetParser(1).ParserAction;
        }
Пример #6
0
 protected override void Setup(PositionalSerializer <CurrentPositionResult> serializer)
 {
     serializer
     .NextDelimiter(':')
     .FixedString("curposition")
     .NextDelimiter(';')
     .Field(item => item.X)
     .Field(item => item.Y)
     .Field(item => item.Z);
 }
Пример #7
0
        public void Should_set_iserror_on_deserialization_accordingly(string marker, bool expected)
        {
            var serializer = PositionalSerializer
                             .CreateFor <MigoStateModel>(';')
                             .FixedString(marker);

            _ = serializer.Parse(StateInput);

            serializer.IsError.Should().Be(expected);
        }
Пример #8
0
        public void Should_deserialize_percent_input()
        {
            var serializer = new PositionalSerializer <FilePercentResult>(':')
                             .FixedString("filepercent")
                             .Field(x => x.Percent);

            var result = serializer.Parse("filepercent:10");

            result.Percent.Should().Be(10);
        }
Пример #9
0
        public void Should_parse_two_variants_of_migo_response(string incoming, bool expected)
        {
            var serializer = new PositionalSerializer <StartPrintResult>(';')
                             .Switch(
                ("printstartsuccess", x => x.PrintStarted, true),
                ("printstartfailed", x => x.PrintStarted, false)
                )
                             .Skip(1); // skip "fn:(.*)***.gcode";

            var result = serializer.Parse(incoming);

            result.PrintStarted.Should().Be(expected);
        }
Пример #10
0
        public void Should_deserialize_state_input()
        {
            var serializer = PositionalSerializer
                             .CreateFor <MigoStateModel>(';')
                             .FixedString("state")
                             .Skip(2)
                             .Field(x => x.NozzleTemp)
                             .Field(x => x.BedTemp);

            var migoState = serializer.Parse(StateInput);

            migoState.BedTemp.Should().Be(25);
            migoState.NozzleTemp.Should().Be(23);
        }
Пример #11
0
        public void Should_deserialize_simple_type_with_several_delimiter_changes()
        {
            var serializer = PositionalSerializer
                             .CreateFor <SerializerTestModel>(':')
                             .FixedString(SerializerTestModel.FixedString)
                             .NextDelimiter(';')
                             .Field(x => x.FieldA)
                             .Field(x => x.FieldB)
                             .NextDelimiter(',')
                             .Field(x => x.FieldC)
                             .Field(x => x.FieldD)
                             .Field(x => x.FieldE);

            var expected = SerializerTestModel.Expected;
            var result   = serializer.Parse(expected.GetStringRepresentation());

            serializer.IsError.Should().BeFalse();
            result.Should().BeEquivalentTo(expected);
        }
Пример #12
0
 public GCodeResultParser()
 {
     _positionalSerializer = new PositionalSerializer <GCodeResultModel>(';')
                             .FixedString("gcodedone");
 }
Пример #13
0
 public GetZOffsetParser()
 {
     _positionalSerializer = new PositionalSerializer <ZOffsetModel>(':')
                             .FixedString("ZOffsetValue")
                             .Field(x => x.ZOffset);
 }
Пример #14
0
 public UploadGCodeResultParser()
 {
     _positionalSerializer = new PositionalSerializer <UploadGCodeResult>(';')
                             .FixedString("fend");
 }
Пример #15
0
 protected override void Setup(PositionalSerializer <StopPrintResult> serializer)
 {
     serializer.FixedString("stopped");
 }