code: def testPeriod12(self):
      # http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:rate_of_change
      inputValues = [
          11045.27,
          11167.32,
          11008.61,
          11151.83,
          10926.77,
          10868.12,
          10520.32,
          10380.43,
          10785.14,
          10748.26,
          10896.91,
          10782.95,
          10620.16,
          10625.83,
          10510.95,
          10444.37,
          10068.01,
          10193.39,
          10066.57,
          10043.75,
      ]
      roc_ = self.__buildROC(inputValues, 12)
      outputValues = [
          -3.85,
          -4.85,
          -4.52,
          -6.34,
          -7.86,
          -6.21,
          -4.31,
          -3.24,
      ]
      for i in range(len(outputValues)):
          outputValue = roc_[12 + i] * 100
          self.assertTrue(round(outputValue, 2) == outputValues[i])
  
      self.assertEqual(len(roc_.getDateTimes()), len(inputValues))
      for i in range(len(roc_)):
          self.assertEqual(roc_.getDateTimes()[i], None)
  
file_path: pyalgotrade/testcases/technical_roc_test.py
imports: from six.moves import xrange
  from .None import common
  from pyalgotrade.technical import roc
  from pyalgotrade import dataseries
label_desc: Use image node_id 2 for calling the ROCTestCase obj's underlying member method code with example usage: obj.testPeriod12() without return types