docstr: This test is actually for SFrame lazy evaluation.
  The reason it is here is because the repro can only be done in SGraph.
  
  The bug appears when the SFrame has lazy_append and when passing through
  the logical filter, skip_rows is not done correctly. So the edge_sframe
  is in a bad state when not materialized.
  
  This unit test stays here to ensure the bug is fixed until we can find
  a more clean repro.
docstr_tok: ["This","test","is","actually","for","SFrame","lazy","evaluation",".","The","reason","it","is","here","is","because","the","repro","can","only","be","done","in","SGraph",".","The","bug","appears","when","the","SFrame","has","lazy_append","and","when","passing","through","the","logical","filter",",","skip_rows","is","not","done","correctly",".","So","the","edge_sframe","is","in","a","bad","state","when","not","materialized",".","This","unit","test","stays","here","to","ensure","the","bug","is","fixed","until","we","can","find","a","more","clean","repro","."]
code: def test_sframe_le_append_skip_row_bug_is_fixed(self):
      """
      This test is actually for SFrame lazy evaluation.
      The reason it is here is because the repro can only be done in SGraph.
  
      The bug appears when the SFrame has lazy_append and when passing through
      the logical filter, skip_rows is not done correctly. So the edge_sframe
      is in a bad state when not materialized.
  
      This unit test stays here to ensure the bug is fixed until we can find
      a more clean repro.
      """
      n = 12  # smallest n to repro the le_append bug
  
      # A graph with edge i -> i + 1
      g = SGraph().add_edges(
          SFrame({"src": range(n), "dst": range(1, n + 1)}),
          "src",
          "dst",
      )
  
      lazy_sf = g.get_edges()
      materialized_sf = g.get_edges()
      materialized_sf.materialize()
      assert_frame_equal(
          lazy_sf[lazy_sf["__dst_id"] == n].to_dataframe(),
          materialized_sf[
              materialized_sf["__dst_id"] == n
          ].to_dataframe(),
      )
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from ..data_structures.sgraph import SGraph, Vertex, Edge, load_sgraph
  from ..data_structures.sframe import SFrame
  from .None import util
  import pandas
  from pandas.util.testing import assert_frame_equal
  import numpy
  import unittest
  import tempfile
  import json
  import os
  import sys
  import pytest
label_desc: Use image node_id 13 for calling the GraphTests obj's underlying member method code with example usage: obj.test_sframe_le_append_skip_row_bug_is_fixed() without return types