code: def test_predict(self):
      if self.model is None:
          return
  
      # Arrange
      sf = self.sf
      model = self.model
  
      # Act & Assert
      if not self.regression:
          # Act & Assert
          output_type = "class"
          bp = model.predict(sf, output_type)
          lp = model.predict(list(sf), output_type)
          dp = model.predict(sf[0], output_type)
          sf_new = sf[0].copy()
          sf_new["new_column"] = 1
          dp_new = model.predict(sf_new, output_type)
  
          self.assertEqual(len(dp), 1)
          self.assertEqual(list(bp), list(lp))
          self.assertEqual(bp[0], dp_new[0])
          self.assertEqual(bp[0], dp[0])
          self.assertEqual(lp[0], dp[0])
  
          # act & assert
          output_type = "margin"
          bp = model.predict(sf, output_type)
          lp = model.predict(list(sf), output_type)
          dp = model.predict(sf[0], output_type)
          dp_new = model.predict(sf_new, output_type)
  
          self.assertEqual(len(dp), 1)
          self.assertEqual(list(bp), list(lp))
          self.assertEqual(bp[0], dp_new[0])
          self.assertEqual(bp[0], dp[0])
          self.assertEqual(lp[0], dp[0])
  
          # act & assert
          if self.has_probability_vector:
              output_type = "probability_vector"
              bp = model.predict(sf, output_type)
              lp = model.predict(list(sf), output_type)
              dp = model.predict(sf[0], output_type)
              dp_new = model.predict(sf_new, output_type)
  
              self.assertEqual(len(dp), 1)
              self.assertEqual(list(bp), list(lp))
              self.assertEqual(bp[0], dp_new[0])
              self.assertEqual(bp[0], dp[0])
              self.assertEqual(lp[0], dp[0])
  
          # act & assert
          if self.has_probability:
              output_type = "probability"
              bp = model.predict(sf, output_type)
              lp = model.predict(list(sf), output_type)
              dp = model.predict(sf[0], output_type)
              dp_new = model.predict(sf_new, output_type)
  
              self.assertEqual(len(dp), 1)
              self.assertEqual(list(bp), list(lp))
              self.assertEqual(bp[0], dp_new[0])
              self.assertEqual(bp[0], dp[0])
              self.assertEqual(lp[0], dp[0])
  
      # Act & Assert
      if self.regression:
          model = model
          bp = model.predict(sf)
          lp = model.predict(list(sf))
          dp = model.predict(sf[0])
          sf_new = sf[0].copy()
          sf_new["new_column"] = 1
          dp_new = model.predict(sf_new)
  
          self.assertEqual(len(dp), 1)
          self.assertEqual(list(bp), list(lp))
          self.assertEqual(lp[0], dp_new[0])
          self.assertEqual(bp[0], dp[0])
          self.assertEqual(lp[0], dp[0])
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import unittest
  import turicreate
  import uuid
  from turicreate.toolkits import evaluation
  from turicreate.toolkits._main import ToolkitError
  import shutil
  import numpy
label_desc: Use image node_id 5 for calling the FastPathPredictionTest obj's underlying member method code with example usage: obj.test_predict() without return types