UNPKG

leaflet-canvaslayer-field

Version:

A set of layers using canvas to draw ASCIIGrid or GeoTIFF files. This includes a basic raster layer (*ScalaField*) and an animated layer for vector fields, such as wind or currents (*VectorFieldAnim*)

56 lines (42 loc) 2.08 kB
describe('Vector', function() { // For reference, this is a great library: http://victorjs.org/ let Vector = L.Vector; it('returns u & v values', function() { let vector = new Vector(0.0, 0.1); expect(vector.u).toEqual(0.0); expect(vector.v).toEqual(0.1); }); it('calculates its magnitude', function() { let vector = new Vector(0.0, 0.1); expect(vector.magnitude()).toEqual(0.1); vector = new Vector(100, 100); expect(vector.magnitude()).toBeCloseTo(141.42, 2); // upper-right corner @ test.json let v = new Vector(0.215018898248672, -0.00158081843983382); expect(v.magnitude()).toBeCloseTo(0.215025, 6); }); it('calculates its directionTo / directionFrom', function() { expect(new Vector(0, 1).directionTo()).toEqual(0); expect(new Vector(0, 1).directionFrom()).toEqual(180); expect(new Vector(1, 1).directionTo()).toEqual(45); expect(new Vector(1, 1).directionFrom()).toEqual(225); expect(new Vector(1, 0).directionTo()).toEqual(90); expect(new Vector(1, 0).directionFrom()).toEqual(270); expect(new Vector(1, -1).directionTo()).toEqual(135); expect(new Vector(1, -1).directionFrom()).toEqual(315); expect(new Vector(0, -1).directionTo()).toEqual(180); expect(new Vector(0, -1).directionFrom()).toEqual(0); expect(new Vector(-1, -1).directionTo()).toEqual(225); expect(new Vector(-1, -1).directionFrom()).toEqual(45); expect(new Vector(-1, 0).directionTo()).toEqual(270); expect(new Vector(-1, 0).directionFrom()).toEqual(90); expect(new Vector(-1, 1).directionTo()).toEqual(315); expect(new Vector(-1, 1).directionFrom()).toEqual(135); vector = new Vector(100, 100); expect(vector.directionTo()).toEqual(45); expect(vector.directionFrom()).toEqual(225); vector = new Vector(100, 0); expect(vector.directionTo()).toEqual(90); expect(vector.directionFrom()).toEqual(270); }); });