code: def test_aroon_basic(self, lows, highs, expected_out):
      aroon = Aroon(window_length=self.window_length)
      today = pd.Timestamp("2014", tz="utc")
      assets = pd.Index(np.arange(self.nassets, dtype=np.int64))
      shape = (self.nassets,)
      out = np.recarray(
          shape=shape,
          dtype=self.dtype,
          buf=np.empty(shape=shape, dtype=self.dtype),
      )
  
      aroon.compute(today, assets, out, lows, highs)
  
      assert_equal(out, 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 AroonTestCase obj's underlying member method code with example usage: obj.test_aroon_basic(lows, highs, expected_out) without return types