// Path: src/main/java/fr/dudie/nominatim/model/BoundingBox.java
// public class BoundingBox implements Serializable {
// 
//     /** The north bound of the boundingbox. */
//     private double north;
// 
//     /** The west bound of the boundingbox. */
//     private double west;
// 
//     /** The east bound of the boundingbox. */
//     private double east;
// 
//     /** The south bound of the boundingbox. */
//     private double south;
// 
//     /**
//      * Gets the north.
//      * 
//      * @return the north
//      */
//     public final double getNorth() {
// 
//         return north;
//     }
// 
//     /**
//      * Gets the north.
//      * 
//      * @return the north
//      */
//     public final int getNorthE6() {
// 
//         return (int) (north * 1E6);
//     }
// 
//     /**
//      * Sets the north.
//      * 
//      * @param north
//      *            the north to set
//      */
//     public final void setNorth(final double north) {
// 
//         this.north = north;
//     }
// 
//     /**
//      * Sets the north.
//      * 
//      * @param north
//      *            the north to set
//      */
//     public final void setNorthE6(final int north) {
// 
//         this.north = north / 1E6;
//     }
// 
//     /**
//      * Gets the west.
//      * 
//      * @return the west
//      */
//     public final double getWest() {
// 
//         return west;
//     }
// 
//     /**
//      * Gets the west.
//      * 
//      * @return the west
//      */
//     public final int getWestE6() {
// 
//         return (int) (west * 1E6);
//     }
// 
//     /**
//      * Sets the west.
//      * 
//      * @param west
//      *            the west to set
//      */
//     public final void setWest(final double west) {
// 
//         this.west = west;
//     }
// 
//     /**
//      * Sets the west.
//      * 
//      * @param west
//      *            the west to set
//      */
//     public final void setWestE6(final int west) {
// 
//         this.west = west / 1E6;
//     }
// 
//     /**
//      * Gets the east.
//      * 
//      * @return the east
//      */
//     public final double getEast() {
// 
//         return east;
//     }
// 
//     /**
//      * Gets the east.
//      * 
//      * @return the east
//      */
//     public final int getEastE6() {
// 
//         return (int) (east * 1E6);
//     }
// 
//     /**
//      * Sets the east.
//      * 
//      * @param east
//      *            the east to set
//      */
//     public final void setEast(final double east) {
// 
//         this.east = east;
//     }
// 
//     /**
//      * Sets the east.
//      * 
//      * @param east
//      *            the east to set
//      */
//     public final void setEastE6(final int east) {
// 
//         this.east = east / 1E6;
//     }
// 
//     /**
//      * Gets the south.
//      * 
//      * @return the south
//      */
//     public final double getSouth() {
// 
//         return south;
//     }
// 
//     /**
//      * Gets the south.
//      * 
//      * @return the south
//      */
//     public final int getSouthE6() {
// 
//         return (int) (south * 1E6);
//     }
// 
//     /**
//      * Sets the south.
//      * 
//      * @param south
//      *            the south to set
//      */
//     public final void setSouth(final double south) {
// 
//         this.south = south;
//     }
// 
//     /**
//      * Sets the south.
//      * 
//      * @param south
//      *            the south to set
//      */
//     public final void setSouthE6(final int south) {
// 
//         this.south = south / 1E6;
//     }
// 
// }


import fr.dudie.nominatim.model.BoundingBox;
import org.junit.Before;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import static org.junit.Assert.assertEquals;
    }

    @Test
    public void simpleQueryWithoutAddress() throws UnsupportedEncodingException {
        req.setQuery("france");
        req.setAddress(false);
        assertEquals("q=france&addressdetails=0", req.getQueryString());
    }

    @Test
    public void simpleQueryWithCountryCodes() throws UnsupportedEncodingException {
        req.setQuery("france");

        req.addCountryCode("FR");
        assertEquals("q=france&countrycodes=FR", req.getQueryString());

        req.addCountryCode("BE");
        assertEquals("q=france&countrycodes=FR,BE", req.getQueryString());
    }

    @Test
    public void simpleQueryWithViewBox() throws UnsupportedEncodingException {
        final double w = -1.14465546607971;
        final double n = 48.1462173461914;
        final double e = -1.24950230121613;
        final double s = 48.0747871398926;
        final String expectedQueryString = "q=france&viewbox=-1.14465546607971,48.14621734619140,-1.24950230121613,48.07478713989260";
        final String expectedQueryStringE6 = "q=france&viewbox=-1.14465500000000,48.14621700000000,-1.24950200000000,48.07478700000000";

        req.setQuery("france");
// Path: src/main/java/fr/dudie/nominatim/model/BoundingBox.java
// public class BoundingBox implements Serializable {
// 
//     /** The north bound of the boundingbox. */
//     private double north;
// 
//     /** The west bound of the boundingbox. */
//     private double west;
// 
//     /** The east bound of the boundingbox. */
//     private double east;
// 
//     /** The south bound of the boundingbox. */
//     private double south;
// 
//     /**
//      * Gets the north.
//      * 
//      * @return the north
//      */
//     public final double getNorth() {
// 
//         return north;
//     }
// 
//     /**
//      * Gets the north.
//      * 
//      * @return the north
//      */
//     public final int getNorthE6() {
// 
//         return (int) (north * 1E6);
//     }
// 
//     /**
//      * Sets the north.
//      * 
//      * @param north
//      *            the north to set
//      */
//     public final void setNorth(final double north) {
// 
//         this.north = north;
//     }
// 
//     /**
//      * Sets the north.
//      * 
//      * @param north
//      *            the north to set
//      */
//     public final void setNorthE6(final int north) {
// 
//         this.north = north / 1E6;
//     }
// 
//     /**
//      * Gets the west.
//      * 
//      * @return the west
//      */
//     public final double getWest() {
// 
//         return west;
//     }
// 
//     /**
//      * Gets the west.
//      * 
//      * @return the west
//      */
//     public final int getWestE6() {
// 
//         return (int) (west * 1E6);
//     }
// 
//     /**
//      * Sets the west.
//      * 
//      * @param west
//      *            the west to set
//      */
//     public final void setWest(final double west) {
// 
//         this.west = west;
//     }
// 
//     /**
//      * Sets the west.
//      * 
//      * @param west
//      *            the west to set
//      */
//     public final void setWestE6(final int west) {
// 
//         this.west = west / 1E6;
//     }
// 
//     /**
//      * Gets the east.
//      * 
//      * @return the east
//      */
//     public final double getEast() {
// 
//         return east;
//     }
// 
//     /**
//      * Gets the east.
//      * 
//      * @return the east
//      */
//     public final int getEastE6() {
// 
//         return (int) (east * 1E6);
//     }
// 
//     /**
//      * Sets the east.
//      * 
//      * @param east
//      *            the east to set
//      */
//     public final void setEast(final double east) {
// 
//         this.east = east;
//     }
// 
//     /**
//      * Sets the east.
//      * 
//      * @param east
//      *            the east to set
//      */
//     public final void setEastE6(final int east) {
// 
//         this.east = east / 1E6;
//     }
// 
//     /**
//      * Gets the south.
//      * 
//      * @return the south
//      */
//     public final double getSouth() {
// 
//         return south;
//     }
// 
//     /**
//      * Gets the south.
//      * 
//      * @return the south
//      */
//     public final int getSouthE6() {
// 
//         return (int) (south * 1E6);
//     }
// 
//     /**
//      * Sets the south.
//      * 
//      * @param south
//      *            the south to set
//      */
//     public final void setSouth(final double south) {
// 
//         this.south = south;
//     }
// 
//     /**
//      * Sets the south.
//      * 
//      * @param south
//      *            the south to set
//      */
//     public final void setSouthE6(final int south) {
// 
//         this.south = south / 1E6;
//     }
// 
// }


// Path: src/test/java/fr/dudie/nominatim/client/request/NominatimSearchRequestTest.java
import fr.dudie.nominatim.model.BoundingBox;
import org.junit.Before;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import static org.junit.Assert.assertEquals;

    }

    @Test
    public void simpleQueryWithoutAddress() throws UnsupportedEncodingException {
        req.setQuery("france");
        req.setAddress(false);
        assertEquals("q=france&addressdetails=0", req.getQueryString());
    }

    @Test
    public void simpleQueryWithCountryCodes() throws UnsupportedEncodingException {
        req.setQuery("france");

        req.addCountryCode("FR");
        assertEquals("q=france&countrycodes=FR", req.getQueryString());

        req.addCountryCode("BE");
        assertEquals("q=france&countrycodes=FR,BE", req.getQueryString());
    }

    @Test
    public void simpleQueryWithViewBox() throws UnsupportedEncodingException {
        final double w = -1.14465546607971;
        final double n = 48.1462173461914;
        final double e = -1.24950230121613;
        final double s = 48.0747871398926;
        final String expectedQueryString = "q=france&viewbox=-1.14465546607971,48.14621734619140,-1.24950230121613,48.07478713989260";
        final String expectedQueryStringE6 = "q=france&viewbox=-1.14465500000000,48.14621700000000,-1.24950200000000,48.07478700000000";

        req.setQuery("france");
        final BoundingBox bbox = new BoundingBox();