From 85811ca21e75ddc74f4d6b33e1a2bd9db1398f76 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Mon, 13 May 2024 13:23:42 +0200
Subject: [PATCH] add: 1 working unit test

---
 server/__init__.py                            |   0
 server/__pycache__/__init__.cpython-311.pyc   | Bin 0 -> 158 bytes
 server/map_handler/__init__.py                |   0
 .../__pycache__/__init__.cpython-311.pyc      | Bin 0 -> 170 bytes
 .../__pycache__/add_new_lake.cpython-311.pyc  | Bin 9899 -> 9885 bytes
 server/map_handler/add_new_lake.py            |  22 +++++++++---------
 .../__pycache__/__init__.cpython-311.pyc      | Bin 0 -> 181 bytes
 ..._add_new_lake.cpython-311-pytest-8.2.0.pyc | Bin 0 -> 2168 bytes
 .../unit_tests/test_add_new_lake.py           |  17 +++++++++++---
 9 files changed, 25 insertions(+), 14 deletions(-)
 create mode 100644 server/__init__.py
 create mode 100644 server/__pycache__/__init__.cpython-311.pyc
 create mode 100644 server/map_handler/__init__.py
 create mode 100644 server/map_handler/__pycache__/__init__.cpython-311.pyc
 create mode 100644 server/map_handler/unit_tests/__pycache__/__init__.cpython-311.pyc
 create mode 100644 server/map_handler/unit_tests/__pycache__/test_add_new_lake.cpython-311-pytest-8.2.0.pyc

diff --git a/server/__init__.py b/server/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/server/__pycache__/__init__.cpython-311.pyc b/server/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bf3b3ede5d466fd1f57005a0cd3d95c10b6df960
GIT binary patch
literal 158
zcmZ3^%ge>Uz`zju%`pu`KL!yn%m`(CW@BJrn9h*G5X_*-=(m!gh>3xL;WJ3`m!Y#&
zOlWaxQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_OmS*aS!z*Ce0*kJW=VX!UP0wA4x8Nk
jl+v73yCPNw1_qEF#rzBm3?G;o85ut?z=$Gd1_lNImm4Ig

literal 0
HcmV?d00001

diff --git a/server/map_handler/__init__.py b/server/map_handler/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/server/map_handler/__pycache__/__init__.cpython-311.pyc b/server/map_handler/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fb4ed4cc033ec9499f21e0c2025401f1fe3a135d
GIT binary patch
literal 170
zcmZ3^%ge>Uz`zjj%`pu`KL!yn%m`(CW@BJrn9h*G5X_*-=(m!gh>3xL;WJ3`m#wo^
zOlWaxQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_OmS*aS!z*CZel@vMq*w{PHIt1e0*kJ
vW=VX!UP0wA4x8Nkl+v73yCPNw1_qFQ#rzBm3?G;o85ut?z=$Gd1_lNI-lQph

literal 0
HcmV?d00001

diff --git a/server/map_handler/__pycache__/add_new_lake.cpython-311.pyc b/server/map_handler/__pycache__/add_new_lake.cpython-311.pyc
index 16eb848c6c0ecf96a3d721fd22b4de5d91527f39..a3599d330d3de9c7f28b5755675f91ddc48c6d37 100644
GIT binary patch
delta 2076
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

delta 2049
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

diff --git a/server/map_handler/add_new_lake.py b/server/map_handler/add_new_lake.py
index aa6b9c8b..b9d22c5e 100644
--- a/server/map_handler/add_new_lake.py
+++ b/server/map_handler/add_new_lake.py
@@ -5,7 +5,7 @@ from math import cos
 import geopandas as gpd
 from matplotlib import pyplot as plt
 from shapely.ops import linemerge, unary_union, polygonize
-from shapely.geometry import Polygon, LineString, MultiLineString
+from shapely.geometry import Polygon, LineString
 
 from server.consts import LAKE_RELATIONS_PATH
 
@@ -148,20 +148,20 @@ def create_grid(poly: Polygon, cell_width: float, cell_height: float):
     # List to store all created lines
     grid_lines = []
 
-    # Create new horizontal lines while within bounds
-    y = min_y
-    while y <= max_y:
-        line = LineString([(min_x, y), (max_x, y)])
-        grid_lines.append(line)
-        y += cell_height
-
-    # Create new vertical lines while within bounds
+    # Create vertical lines while within bounds
     x = min_x
     while x <= max_x:
         line = LineString([(x, min_y), (x, max_y)])
         grid_lines.append(line)
         x += cell_width
 
+    # Create horizontal lines while within bounds
+    y = min_y
+    while y <= max_y:
+        line = LineString([(min_x, y), (max_x, y)])
+        grid_lines.append(line)
+        y += cell_height
+
     return grid_lines
 
 
@@ -199,10 +199,10 @@ def write_json_to_file(lake_name: str, map_data: dict):
 # to plot the map after each division to ensure that the map was divided as intended.
 def plot_map(divided_map):
     """
-    Plots a divided map using matplotlib.
+    Plots the divisions of a  map using matplotlib.
 
         Parameters:
-            divided_map (list): List of Shapely Polygons
+            divided_map (list): List of Shapely Polygons to be plotted
     """
     print("Plotting... This may take some time...")
 
diff --git a/server/map_handler/unit_tests/__pycache__/__init__.cpython-311.pyc b/server/map_handler/unit_tests/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e32275e71c689422f02eb9cfd73c66597799718f
GIT binary patch
literal 181
zcmZ3^%ge>Uz`$@w(lHH0KL!yn%m`(CW@BJrn9h*G5X_*-=(m!gh>3xL;WJ3`mxr@e
zOlWaxQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_OmS*aS!z*CZel@vMq*w{PHIt1X<lYY
zd`W6?NpVbkd?tt!uUAm{i^C>2KczG$)vkz@fq?;Jbum8!1H%VqMn=XD3^1aInSp@;
E0Qes*%m4rY

literal 0
HcmV?d00001

diff --git a/server/map_handler/unit_tests/__pycache__/test_add_new_lake.cpython-311-pytest-8.2.0.pyc b/server/map_handler/unit_tests/__pycache__/test_add_new_lake.cpython-311-pytest-8.2.0.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1f1035be606616e46806e57a11add5fc28a65bbd
GIT binary patch
literal 2168
zcmZ3^%ge>Uz`!8!!!gZ;iGkrUhy%k+P{wB`1_p-d3@HpLj5!QZj9{86mpPe<ks+5Q
zij@&0!<568%O1s^%Mrx^<}>GT=5j@GF*2mEv@k?*r!WRHXtKTp8R)0Ubc;P8Kc_N1
zKkpWoPi9_fa7j^SUb-gZE$-x^)Wnk1`1GR8lw^=v7-nZ+U|?ooVEC-W1ae6UBTRyU
zA)O(GaS`J(Mh1q}aM4<Z6s8pBbfy%R6xMX66t)!hbfy%h6t;Ax6pj?mbfy%p6z+7U
zbhcW?6rL7_8b%j}Wef}qtKo*$GL?XAgYs(_Qg~DNmN7FhtcHu$GS@KIFlB>7sFtOM
zrT9<@D^xiH149;ET?&5<OB!Q}07!Kj(=rwYhSe-Ebt!@+oG>;6Ll#^=s$0q!ibYV&
zW`pUeVMg_J5vn>+n1Pj|tIK0d5lj)H&~7Fo?M73V$Cx6NB0Ptwij9GxmNi8rMYM)B
zlM&2gD-i@c7fhh|7#>PBY^b)P@|qY^7;0Hk7=jrz#r!l`Rx%ZVq6bW@WO@lo98h)<
z$UrawQv((N1y~U`0|SF5({r#R7#`Szb!ajb@h~tjfOQmcfLNeBqX{wp`K*~BaMNCs
z38H`(Yywy#RPH5Qj*o$XAsOTni1`c*phy=6C2SpV7E5QSVTcv1WkgQkHE4-@B2$l0
zFvCg)O~xWnQqp9)#iVC&i!C`nzbK`+802LIg<pZrRxzQ)sYS&xc_n$JF)pda*(Lb}
zF$G2W=|+|Y1~J8{MP;c)F}aBa@fnGEDLJV{F{OE#CGjPx#U;ftATmBNB_%#DwLCs2
zF*{YSpz;@&O-^QUNpgN}fnAjjSOrpUjZaBUODxSP(X+|PPfpA!w$nqX1_em50s{j>
z1H%P=TL@ZEHkE6J*+l`RD*{Rokqi8`pFyDl32KlYO~zkLwzis#RYIy71(gPx#R|5z
z3LvJDX7Mc+P#JNHBekL+HMt};MU&|kb3vs6h%l<+ODrx<Eh+)4HPI{v37Tkf6@fBk
z5h%cKaXA!Jf_;!!bW1QkIWZ?Ez9_Yz2;{fKqSRYF4h5C*Nu`-NC7F4}x7Z*)x+M``
zoRMFelLA&6pPrMSl$aBrmzbM+i!;7BF)bBj!Yw{Wu+^FQd9Fo8`9-&c<J0nsauZA9
zQ!5H`67v#EGV}8^*>7=zZ7;~rsl3Gvj=0Rc#FEtFA_-995@%pwxWx@}1H>PO5Dvs3
zV`PqLF(}O{KtK^F9o>=un~Wu9iZmG*7(iu5aRMVKDxM06Uy!hXpo;>QR|G5@JU_58
zh)U0JyCAH*AY%i^1y#!(ZU@{hSbN_P6rUk>K|o=F#fpdvN@hDG4p>~U@cF>ZDD21B
z;Qas`sT-s(@Y`PGx4pt|+u-q(TWmt*0_6q87rC{saBDZX++dNuz#@GKOkMz!S6QU5
zfEf@jGI<du1yKX%USN@ih+JTih6`efK#YQj!<CVw7h*od95{Iq?AogsZa}sIuDD1P
zR0{Ci;(#TiA~{g3O2$JHo*pD-GxPKGic-sqGD}i#al(aeu|vg*WI%cZiZc=mQgbTx
z(o^$uQ%i~}Aqg3j_ixEV^06LLKGsV_%D3R;4vzUE0Z`HcxeA<4esS33=BJeAq}ml3
wFfcHHilkytjr)O_k&*ERD19_AV1pMJ46vdH4CWV5(FZmzMwt%`m;^Xz0QtcZOaK4?

literal 0
HcmV?d00001

diff --git a/server/map_handler/unit_tests/test_add_new_lake.py b/server/map_handler/unit_tests/test_add_new_lake.py
index cc2442a5..8bde7248 100644
--- a/server/map_handler/unit_tests/test_add_new_lake.py
+++ b/server/map_handler/unit_tests/test_add_new_lake.py
@@ -1,5 +1,16 @@
+from shapely.geometry import Polygon, LineString
+
 from server.map_handler.add_new_lake import create_grid
 
-#def tes_create_grid_default():
-    #grid = create_grid(0.2, 0.3)
-    #assert
\ No newline at end of file
+
+def test_create_grid_default():
+    # Create a simple square polygon
+    test_poly = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
+
+    # Define the expected grid output
+    coordinates = [[(0, 0), (0, 1)], [(0.5, 0), (0.5, 1)], [(1, 0), (1, 1)],
+                [(0, 0), (1, 0)], [(0, 0.4), (1, 0.4)], [(0, 0.8), (1, 0.8)]]
+    expected = [LineString(coords) for coords in coordinates]
+
+    grid = create_grid(test_poly, 0.5, 0.4)
+    assert grid == expected
-- 
GitLab