Sha256: 85a122022db1b65a902810de759874f06fc40d65e42961220a04050fdcae6098

Contents?: true

Size: 935 Bytes

Versions: 2

Compression:

Stored size: 935 Bytes

Contents

import { get } from 'ember-metal';
import EmberObject from '../../lib/system/object';
import compare from '../../lib/compare';
import Comparable from '../../lib/mixins/comparable';
import { moduleFor, AbstractTestCase } from 'internal-test-helpers';

const Rectangle = EmberObject.extend(Comparable, {
  length: 0,
  width: 0,

  area() {
    return get(this, 'length') * get(this, 'width');
  },

  compare(a, b) {
    return compare(a.area(), b.area());
  },
});

let r1, r2;

moduleFor(
  'Comparable',
  class extends AbstractTestCase {
    beforeEach() {
      r1 = Rectangle.create({ length: 6, width: 12 });
      r2 = Rectangle.create({ length: 6, width: 13 });
    }

    ['@test should be comparable and return the correct result'](assert) {
      assert.equal(Comparable.detect(r1), true);
      assert.equal(compare(r1, r1), 0);
      assert.equal(compare(r1, r2), -1);
      assert.equal(compare(r2, r1), 1);
    }
  }
);

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
discourse-ember-source-3.5.1.1 dist/es/ember-runtime/tests/mixins/comparable_test.js
discourse-ember-source-3.5.1.0 dist/dist/es/ember-runtime/tests/mixins/comparable_test.js