// Generated by CoffeeScript 1.6.3
var izzy, subjects, _;

_ = require('lodash');

izzy = require('../izzy');

subjects = {
  array: [[], new Array()],
  boolean: [true, false],
  "function": [(function() {}), new Function()],
  nan: [NaN],
  "null": [null],
  number: [42, new Number(42)],
  object: [{}, new Object()],
  string: ['bar', new String('bar')],
  undefined: [void 0]
};

_.each(subjects, function(cases, type) {
  return exports[type] = function(test) {
    _.each(cases, function(thing) {
      test.strictEqual(izzy[type](thing), true);
      test.strictEqual(izzy(type, thing), true);
      return _.each(_.omit(subjects, type), function(_cases, _type) {
        return _.each(_cases, function(_thing) {
          test.strictEqual(izzy[type](_thing), false);
          return test.strictEqual(izzy(type, _thing), false);
        });
      });
    });
    return test.done();
  };
});
