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