code: def test_sfloat_promotion(self):
      assert np.result_type(SF(2.0), SF(3.0)) == SF(3.0)
      assert np.result_type(SF(3.0), SF(2.0)) == SF(3.0)
      # Float64 -> SF(1.) and then promotes normally, so both of this work:
      assert np.result_type(SF(3.0), np.float64) == SF(3.0)
      assert np.result_type(np.float64, SF(0.5)) == SF(1.0)
  
      # Test an undefined promotion:
      with pytest.raises(TypeError):
          np.result_type(SF(1.0), np.int64)
  
imports: import pytest
  import numpy
  from numpy.testing import assert_array_equal
  from numpy.core._multiarray_umath import _discover_array_parameters, _get_sfloat_dtype
label_desc: Use image node_id 11 for calling the TestSFloat obj's underlying member method code with example usage: obj.test_sfloat_promotion() without return types