old_contents: # Copyright (c) 2019 Manfred Moitzi
  # License: MIT License
  
  
  from ezdxf.lldxf.repair import filter_invalid_point_codes
  
  
  def test_invalid_y_coord_after_xyz():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (30, 3), (20, 0)]
      ))
      assert result == [(10, 1), (20, 2), (30, 3)]
  
  
  def test_invalid_y_coord_after_xy():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (21, 2)]
      ))
      assert result == [(10, 1), (20, 2)]
  
  
  def test_z_axis_after_valid_point():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (30, 3), (30, 0)]
      ))
      assert result == [(10, 1), (20, 2), (30, 3)]
  
  
  def test_misplaced_z_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (1, 'Text'), (30, 0), (1, 'xxx')]
      ))
      assert result == [(10, 1), (20, 2), (1, 'Text'), (1, 'xxx')]
  
  
  def test_correct_xy_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (10, 1), (20, 0)]
      ))
      assert result == [(10, 1), (20, 2), (10, 1), (20, 0)]
  
  
  def test_invalid_single_x_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (10, 1)]
      ))
      assert result == [(10, 1), (20, 2)]
  
  
  def test_preserve_leading_0_tag():
      result = list(filter_invalid_point_codes(
          [(0, 'SECTION'), (10, 1), (20, 2)]
      ))
      assert result == [(0, 'SECTION'), (10, 1), (20, 2)]
  
  
  
new_contents: # Copyright (c) 2019 Manfred Moitzi
  # License: MIT License
  
  
  from ezdxf.lldxf.repair import filter_invalid_point_codes
  
  
  def test_invalid_y_coord_after_xyz():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (30, 3), (20, 0)]
      ))
      assert result == [(10, 1), (20, 2), (30, 3)]
  
  
  def test_invalid_y_coord_after_xy():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (21, 2)]
      ))
      assert result == [(10, 1), (20, 2)]
  
  
  def test_z_axis_after_valid_point():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (30, 3), (30, 0)]
      ))
      assert result == [(10, 1), (20, 2), (30, 3)]
  
  
  def test_misplaced_z_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (1, 'Text'), (30, 0), (1, 'xxx')]
      ))
      assert result == [(10, 1), (20, 2), (1, 'Text'), (1, 'xxx')]
  
  
  def test_correct_xy_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (10, 1), (20, 0)]
      ))
      assert result == [(10, 1), (20, 2), (10, 1), (20, 0)]
  
  
  def test_invalid_single_x_axis():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (10, 1)]
      ))
      assert result == [(10, 1), (20, 2)]
  
  
  def test_preserve_leading_0_tag():
      result = list(filter_invalid_point_codes(
          [(0, 'SECTION'), (10, 1), (20, 2)]
      ))
      assert result == [(0, 'SECTION'), (10, 1), (20, 2)]
  
  
  def test_preserve_elevation_group_code_38():
      result = list(filter_invalid_point_codes(
          [(10, 1), (20, 2), (38, 0)]
      ))
      assert result == [(10, 1), (20, 2), (38, 0)]
  
  
  
subject: remove group code 38 (elevation) from INVALID_Z_CODES