@@ -26,13 +26,10 @@ You should have received a copy of the GNU Lesser General Public
2626using System ;
2727using System . Collections . Generic ;
2828using System . Linq ;
29- using System . Text ;
30- using System . Threading . Tasks ;
3129using OpenVectorFormat . GCodeReaderWriter ;
3230using System . IO ;
33- using Microsoft . VisualStudio . TestPlatform . CoreUtilities . Helpers ;
34- using System . Runtime . CompilerServices ;
35- using System . Text . RegularExpressions ;
31+ using OpenVectorFormat . FileReaderWriterFactory ;
32+ using OpenVectorFormat . Plausibility ;
3633
3734namespace OpenVectorFormat . ReaderWriter . UnitTests
3835{
@@ -83,13 +80,58 @@ public void TestGCodeToObject(FileInfo fileName)
8380 GCodeCommandList gCodeCommandList = new GCodeCommandList ( testCommands ) ;
8481 Assert . AreEqual ( 19335 , gCodeCommandList . OfType < LinearInterpolationCmd > ( ) . ToList ( ) . Count ) ;
8582 Assert . AreEqual ( 185 , gCodeCommandList . OfType < MiscCommand > ( ) . ToList ( ) . Count ) ;
83+ }
84+
85+ [ DynamicData ( "GCodeFiles" ) ]
86+ [ TestMethod ]
87+ public void TestGCodeAddParamsToMemory ( FileInfo fileName )
88+ {
89+ var converter = SetupConverter ( ) ;
90+
91+ var job = converter . ConvertAddParams ( fileName , new FileReaderWriterFactory . FileReaderWriterProgress ( ) ) ;
92+ CheckJob ( job ) ;
93+ }
94+
95+ private FileReaderWriterFactory . FileConverter SetupConverter ( )
96+ {
97+ FileReaderWriterFactory . FileConverter converter = new FileReaderWriterFactory . FileConverter ( ) ;
98+ converter . SupportPostfix = "_support" ;
99+ converter . FallbackContouringParams = new MarkingParams ( ) { LaserSpeedInMmPerS = 100 , LaserPowerInW = 0 } ;
100+ converter . FallbackHatchingParams = new MarkingParams ( ) { LaserSpeedInMmPerS = 100 , LaserPowerInW = 0 } ;
101+ converter . FallbackSupportContouringParams = new MarkingParams ( ) { LaserSpeedInMmPerS = 100 , LaserPowerInW = 0 } ;
102+ converter . FallbackSupportHatchingParams = new MarkingParams ( ) { LaserSpeedInMmPerS = 100 , LaserPowerInW = 0 } ;
103+ return converter ;
104+ }
86105
87- Assert . AreEqual ( "set extruder temp" , gCodeCommandList [ 4 ] . comment ) ;
88- Assert . AreEqual ( new Dictionary < char , float > { { 'E' , 0f } } , gCodeCommandList [ 15 ] . miscParams ) ;
89- Assert . AreEqual ( 2100f , ( ( MovementCommand ) gCodeCommandList [ 17 ] ) . feedRate ) ;
90- Assert . IsTrue ( ( ( LinearInterpolationCmd ) gCodeCommandList [ 23 ] ) . isOperation ) ;
91- Assert . AreEqual ( PrepCode . Comment , gCodeCommandList [ 305 ] . gCode . preparatoryFunctionCode ) ;
92- Assert . IsFalse ( ( ( LinearInterpolationCmd ) gCodeCommandList [ 403 ] ) . isOperation ) ;
106+ private void CheckJob ( FileInfo testFile )
107+ {
108+ using ( var reader = FileReaderWriterFactory . FileReaderFactory . CreateNewReader ( testFile . Extension ) )
109+ {
110+ reader . OpenJob ( testFile . FullName , new FileReaderWriterFactory . FileReaderWriterProgress ( ) ) ;
111+ var job = reader . CacheJobToMemory ( ) ;
112+
113+ CheckJob ( job ) ;
114+ }
115+ }
116+
117+ private void CheckJob ( Job job )
118+ {
119+ CheckerConfig config = new CheckerConfig
120+ {
121+ CheckLineSequencesClosed = CheckAction . DONTCHECK ,
122+ CheckMarkingParamsKeys = CheckAction . CHECKERROR ,
123+ CheckPartKeys = CheckAction . CHECKERROR ,
124+ CheckPatchKeys = CheckAction . DONTCHECK ,
125+ CheckVectorBlocksNonEmpty = CheckAction . CHECKERROR ,
126+ CheckWorkPlanesNonEmpty = CheckAction . CHECKERROR ,
127+
128+ ErrorHandling = ErrorHandlingMode . THROWEXCEPTION
129+ } ;
130+
131+ CheckerResult checkResult = PlausibilityChecker . CheckJob ( job , config ) . GetAwaiter ( ) . GetResult ( ) ;
132+ Assert . AreEqual ( OverallResult . ALLSUCCEDED , checkResult . Result ) ;
133+ Assert . AreEqual ( 0 , checkResult . Errors . Count ) ;
134+ Assert . AreEqual ( 0 , checkResult . Warnings . Count ) ;
93135 }
94136
95137 public static List < object [ ] > GCodeFiles
0 commit comments