def test_skeinforge_formatted_stretch(): gcode_oracle = open_gcode_file('skeinforge_model1_poststretch.gcode') gcode = open_gcode_file('skeinforge_model1_prestretch.gcode') SkeinforgeStretchFilter().filter(gcode) gcode_eq(gcode_oracle, gcode)
def test_precision(): """makes sure that gcode are equals if the numeric values are similar enough and different is the numeric values are far enough""" gcode_eq(open_gcode_file('simple1.gcode'), open_gcode_file('simple1_equivalent.gcode')) assert_not_equal(open_gcode_file('simple1.gcode'), open_gcode_file('simple1_slightly_different.gcode'))
def test_nop_relative_extrusion(): gcode = open_gcode_file('simple1.gcode') gcode_oracle = open_gcode_file('simple1.gcode') GCodeToRelativeExtrusionFilter().filter(gcode) gcode_eq(gcode_oracle, gcode)
def test_trivial_relative_extrusion(): gcode = open_gcode_file('simple3.gcode') gcode_oracle = open_gcode_file('simple3-relative.gcode') GCodeToRelativeExtrusionFilter().filter(gcode) gcode_eq(gcode_oracle, gcode)
def test_nop_move(): gcode = open_gcode_file('simple1.gcode') gcode_oracle = open_gcode_file('simple1.gcode') GCodeXYTranslateFilter(x=0, y=0).filter(gcode) gcode_eq(gcode_oracle, gcode)
def test_trivial_move(): gcode = open_gcode_file('simple1.gcode') gcode_oracle = open_gcode_file('simple2.gcode') GCodeXYTranslateFilter(x=1, y=2).filter(gcode) gcode_eq(gcode_oracle, gcode)
def test_pause_at_layer(): original_gcode = open_gcode_file("arc_raw_1.gcode") paused_gcode = open_gcode_file("arc_raw_1.gcode") iterator = GCodeIterator(paused_gcode, digits_of_precision=3) pause_at_layer = pal.PauseAtLayer(pause_layer_list=[1]) iterator.accept(pause_at_layer) result = original_gcode.diff(paused_gcode) expected_result = pal.PAUSE_COMMAND has_pause_command = True if expected_result in result else False message = "Expected '%s' in 'vs' part of diff message; whole message is '%s'" % (expected_result, result) assert_equal(has_pause_command, True, message)
def test_pause_at_layer(): original_gcode = open_gcode_file("arc_raw_1.gcode") paused_gcode = open_gcode_file("arc_raw_1.gcode") iterator = GCodeIterator(paused_gcode, digits_of_precision=3) pause_at_layer = pal.PauseAtLayer(pause_layer_list=[1]) iterator.accept(pause_at_layer) result = original_gcode.diff(paused_gcode) expected_result = pal.PAUSE_COMMAND has_pause_command = True if expected_result in result else False message = "Expected '%s' in 'vs' part of diff message; whole message is '%s'" % ( expected_result, result) assert_equal(has_pause_command, True, message)
def test_arc_optimization_4(): gcode = open_gcode_file('arc_raw_4.gcode') gcode_ref = open_gcode_file('arc_ref_4.gcode') logging.basicConfig(level=logging.DEBUG) GCodeArcOptimizerFilter().filter(gcode) gcode_eq(gcode_ref, gcode)
def test_square_stretch_cura(): simple_square_gcode = open_gcode_file('cura_square.gcode') logging.basicConfig(level=logging.DEBUG) CuraStretchFilter().filter(simple_square_gcode) simple_square_gcode.write()
def test_square_stretch_slic3r(): simple_square_gcode = open_gcode_file('slic3r_square.gcode') logging.basicConfig(level=logging.DEBUG) Slic3rStretchFilter().filter(simple_square_gcode) simple_square_gcode.write()
def test_ignore_non_command(): gcode_eq(open_gcode_file('empty_for_good.gcode'), open_gcode_file('empty_skeinforge_format.gcode'))
def test_identity_equality(): gcode_eq(open_gcode_file('simple1.gcode'), open_gcode_file('simple1.gcode'))
def test_trivial_difference(): assert_not_equal(open_gcode_file('simple1.gcode'), open_gcode_file('simple2.gcode'))
def test_square_stretch_skeinforge(): simple_square_gcode = open_gcode_file('skeinforge_square.gcode') logging.basicConfig(level=logging.DEBUG) SkeinforgeStretchFilter().filter(simple_square_gcode) simple_square_gcode.write()