code: def test_rsi(self, seed_value, expected):
      rsi = RSI()
  
      today = np.datetime64(1, "ns")
      assets = np.arange(3)
      out = np.empty((3,), dtype=float)
  
      np.random.seed(
          seed_value
      )  # Seed so we get deterministic results.
      test_data = np.abs(np.random.randn(15, 3))
  
      out = np.empty((3,), dtype=float)
      rsi.compute(today, assets, out, test_data)
  
      check_allclose(expected, out)
  
imports: from __future__ import division
  from nose_parameterized import parameterized
  from six.moves import range
  import numpy
  import pandas
  import talib
  from numpy.random import RandomState
  from zipline.lib.adjusted_array import AdjustedArray
  from zipline.pipeline.data import USEquityPricing
  from zipline.pipeline.factors import BollingerBands, Aroon, FastStochasticOscillator, IchimokuKinkoHyo, LinearWeightedMovingAverage, RateOfChangePercentage, TrueRange, MovingAverageConvergenceDivergenceSignal, AnnualizedVolatility, RSI
  from zipline.testing import check_allclose, parameter_space
  from zipline.testing.fixtures import ZiplineTestCase
  from zipline.testing.predicates import assert_equal
  from .base import BaseUSEquityPipelineTestCase
label_desc: Use image node_id 1 for calling the RSITestCase obj's underlying member method code with example usage: obj.test_rsi(seed_value, expected) without return types