message: Test new ImmutableMap methods
diff: @@ -75,4 +75,32 @@ module('ImmutableMap', function() {
  assert.equal(map.size, 1, 'original map still has one member');
  assert.strictEqual(map.get('jupiter'), jupiter, 'original map is unchanged');
  });
  +
  + test('maps can set and remove multiple items at once', function(assert) {
  + let jupiter = { type: 'planet', id: 'jupiter', attributes: { name: 'Jupiter' }};
  + let jupiter2 = { type: 'planet', id: 'jupiter', attributes: { name: 'Jupiter2' }};
  + let pluto = { type: 'planet', id: 'pluto', attributes: { name: 'Pluto' }};
  + let earth = { type: 'planet', id: 'earth', attributes: { name: 'Earth' }};
  +
  + let map = new ImmutableMap<string, object>();
  + map.setMany([
  + ['jupiter', jupiter],
  + ['jupiter', jupiter2],
  + ['pluto', pluto],
  + ['earth', earth]
  + ]);
  +
  + assert.equal(map.size, 3, 'map has three members');
  + assert.strictEqual(map.get('jupiter'), jupiter2, 'jupiter has been updated');
  + assert.strictEqual(map.get('pluto'), pluto, 'pluto is set');
  + assert.strictEqual(map.get('earth'), earth, 'earth is set');
  +
  + map.removeMany(['jupiter', 'earth']);
  + assert.equal(map.size, 1, 'map has one members');
  + assert.strictEqual(map.get('pluto'), pluto, 'pluto is set');
  +
  + map.clear();
  +
  + assert.equal(map.size, 0, 'map has been cleared');
  + });
  });
  