UNPKG

isoxml-angular

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

53 lines (52 loc) 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ISOXMLManager_1 = require("../ISOXMLManager"); const geometry_1 = require("./testdata/geometry"); const Partfield_1 = require("./Partfield"); describe('Partfield Entity', () => { it('should add geometry from GeoJSON', () => { const isoxmlManager = new ISOXMLManager_1.ISOXMLManager(); const partfield = new Partfield_1.ExtendedPartfield({ PartfieldDesignator: 'test field', PartfieldArea: 0 }, isoxmlManager); partfield.boundaryFromGeoJSON(geometry_1.MULTIPOLYGON.features[0].geometry, isoxmlManager); expect(partfield.attributes.PartfieldArea).toBe(2026305612); expect(partfield.attributes.PolygonnonTreatmentZoneonly).toHaveLength(2); }); it('should normalize boundary from v4 to v3', () => { const isoxmlManager = new ISOXMLManager_1.ISOXMLManager({ version: 4 }); const partfield = new Partfield_1.ExtendedPartfield({ PartfieldDesignator: 'test', PartfieldArea: 0 }, isoxmlManager); partfield.boundaryFromGeoJSON(geometry_1.MULTIPOLYGON.features[0].geometry, isoxmlManager); isoxmlManager.updateOptions({ version: 3 }); const xml = partfield.toXML(); expect(xml["PLN" /* TAGS.Polygon */]).toHaveLength(1); }); it('should normalize boundary from v3 to v4', () => { const isoxmlManager = new ISOXMLManager_1.ISOXMLManager({ version: 3 }); const partfield = new Partfield_1.ExtendedPartfield({ PartfieldDesignator: 'test', PartfieldArea: 0 }, isoxmlManager); partfield.boundaryFromGeoJSON(geometry_1.MULTIPOLYGON.features[0].geometry, isoxmlManager); isoxmlManager.updateOptions({ version: 4 }); const xml = partfield.toXML(); expect(xml["PLN" /* TAGS.Polygon */]).toHaveLength(2); }); it('should return GeoJSON', () => { const isoxmlManager = new ISOXMLManager_1.ISOXMLManager({ version: 3 }); const partfield = new Partfield_1.ExtendedPartfield({ PartfieldDesignator: 'test', PartfieldArea: 0 }, isoxmlManager); partfield.boundaryFromGeoJSON(geometry_1.MULTIPOLYGON.features[0].geometry, isoxmlManager); const geoJSON = partfield.toGeoJSON(); expect(geoJSON.type).toBe('MultiPolygon'); expect(geoJSON.coordinates).toHaveLength(2); expect(geoJSON.coordinates[0]).toHaveLength(2); expect(geoJSON.coordinates[1]).toHaveLength(2); }); });