'use strict';

var calls = [];

exports.Array = {
  before: function() {
    calls.push('before');
  },

  after: function() {
    calls.push('after');
    expect(calls, 'to equal', [
      'before',
      'before each',
      'one',
      'after each',
      'before each',
      'two',
      'after each',
      'after'
    ]);
  },

  '#indexOf()': {
    beforeEach: function() {
      calls.push('before each');
    },

    afterEach: function() {
      calls.push('after each');
    },

    'should return -1 when the value is not present': function() {
      calls.push('one');
      expect([1, 2, 3].indexOf(5), 'to be', -1);
      expect([1, 2, 3].indexOf(0), 'to be', -1);
    },

    'should return the correct index when the value is present': function() {
      calls.push('two');
      expect([1, 2, 3].indexOf(1), 'to be', 0);
      expect([1, 2, 3].indexOf(2), 'to be', 1);
      expect([1, 2, 3].indexOf(3), 'to be', 2);
    }
  }
};
