postgres direction encoder tests
This commit is contained in:
parent
c45e5c94e5
commit
14d2486c1b
|
@ -0,0 +1,41 @@
|
||||||
|
import { Coordinates } from '@modules/geography/core/application/types/coordinates.type';
|
||||||
|
import { PostgresDirectionEncoder } from '@modules/geography/infrastructure/postgres-direction-encoder';
|
||||||
|
|
||||||
|
describe('Postgres direction encoder', () => {
|
||||||
|
it('should be defined', () => {
|
||||||
|
const postgresDirectionEncoder: PostgresDirectionEncoder =
|
||||||
|
new PostgresDirectionEncoder();
|
||||||
|
expect(postgresDirectionEncoder).toBeDefined();
|
||||||
|
});
|
||||||
|
it('should encode coordinates to a postgres direction', () => {
|
||||||
|
const postgresDirectionEncoder: PostgresDirectionEncoder =
|
||||||
|
new PostgresDirectionEncoder();
|
||||||
|
const coordinates: Coordinates[] = [
|
||||||
|
{
|
||||||
|
lon: 6,
|
||||||
|
lat: 47,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
lon: 6.1,
|
||||||
|
lat: 47.1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
lon: 6.2,
|
||||||
|
lat: 47.2,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const direction = postgresDirectionEncoder.encode(coordinates);
|
||||||
|
expect(direction).toBe("'LINESTRING(6 47,6.1 47.1,6.2 47.2)'");
|
||||||
|
});
|
||||||
|
it('should decode a postgres direction to coordinates', () => {
|
||||||
|
const postgresDirectionEncoder: PostgresDirectionEncoder =
|
||||||
|
new PostgresDirectionEncoder();
|
||||||
|
const direction = "'LINESTRING(6 47,6.1 47.1,6.2 47.2)'";
|
||||||
|
const coordinates: Coordinates[] =
|
||||||
|
postgresDirectionEncoder.decode(direction);
|
||||||
|
expect(coordinates.length).toBe(3);
|
||||||
|
expect(coordinates[0].lat).toBe(47);
|
||||||
|
expect(coordinates[1].lon).toBe(6.1);
|
||||||
|
expect(coordinates[2].lat).toBe(47.2);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue