package projetMusee.backend;

import static org.junit.Assert.*;
import org.junit.Test;

/**
 * Classe de test pour la classe Coordinates.
 * Vérifie que les coordonnées sont bien instanciées et affichées correctement.
 */
public class CoordinatesTest {

    /**
     * Teste si un objet Coordinates est correctement initialisé avec des valeurs
     * valides.
     */
    @Test
    public void testValidCoordinatesCreation() {
        Coordinates coord = new Coordinates(2.3522, 48.8566); // Paris
        assertEquals(2.3522, coord.getLongitude(), 0.0001);
        assertEquals(48.8566, coord.getLatitude(), 0.0001);
    }

    /**
     * Teste si la méthode getLongitude() retourne bien la longitude initialisée.
     */
    @Test
    public void testGetLongitude() {
        Coordinates coord = new Coordinates(-3.7038, 40.4168); // Madrid
        assertEquals(-3.7038, coord.getLongitude(), 0.0001);
    }

    /**
     * Teste si la méthode getLatitude() retourne bien la latitude initialisée.
     */
    @Test
    public void testGetLatitude() {
        Coordinates coord = new Coordinates(-74.0060, 40.7128); // New York
        assertEquals(40.7128, coord.getLatitude(), 0.0001);
    }

    /**
     * Teste si la méthode toString() retourne bien la bonne représentation de
     * l'objet.
     */
    @Test
    public void testToStringFormat() {
        Coordinates coord = new Coordinates(2.3522, 48.8566); // Paris
        assertEquals("Coordinates(2.3522, 48.8566)", coord.toString());
    }
}