code: def test_rank1_convex_solver():
      XY_rank1, XY_missing_rank1 = create_rank1_data(symmetric=False)
      solver = NuclearNormMinimization(max_iters=50000)
      XY_completed_rank1 = solver.fit_transform(XY_missing_rank1)
      assert (
          abs(XY_completed_rank1[1, 2] - XY_rank1[1, 2]) < 0.01
      ), "Expected %0.4f but got %0.4f" % (
          XY_rank1[1, 2],
          XY_completed_rank1[1, 2],
      )
  
imports: from fancyimpute import NuclearNormMinimization
  import numpy
  from low_rank_data import XY, XY_incomplete, missing_mask
  from common import reconstruction_error
label_desc: Use image node_id 2 for calling a global function with example usage: test_rank1_convex_solver() without return types