isoxml-angular
Version:
JavaScript library to parse and generate ISOXML (ISO11783-10) files
53 lines (52 loc) • 2.58 kB
JavaScript
"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);
});
});