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<81hL;7(?IlN5CH>>P{wCAAY(d13PUi1CZpd<h9V{)|1(JPm!Y#&OlWax
zQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_3{a{pwJ0V&J~J<~BtBlRpz;@oO>TZlX-=wL
b5i8IHkR8SRK;i>4BO~Jn1{hJq3={(Zmm4Ig

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<81OeY1(?IlN5CH>>P{wCAAY(d13PUi1CZpd<h9V{)|1(JPm#wo^OlWax
zQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_3{a{pwJ0Vxu^>JpF)t+t$c~TC%*!l^kJl@x
l{Ka9Do1apelWJGQ3N#I5Uok(B_`uA_$oPQ)Miemv#Q@%<DSiL|

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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
Wb9f}4fDhqg@fJ9YUyX+t>dT+CwKMSm

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<81cxLY(?IlN5CH>>P{wCAAY(d13PUi1CZpd<h9V{)|1(JPmxr@eOlWax
zQE^OONnUA;OKNd;Nq#|0K~a9Xk)?q_3{a{pwJ0Vxu^>JpF)t+t$S%#xEQv2kEiNgJ
uiI2|&apLs~Dt~d<<mRW8=A_ycu>uVSSzXKzBt9@RGBSQ(fDuK^KrsOLA1%xP

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
zcmbtU&1)M+6rWwKJ}mh|vSVAtp%o5+E(t<))6{M)r)gc&kYHL&p$L`jMl+JP-VZUe
zaw;Q%C^`1f9*W)4gXzJo@g>I`L;r$xalze_p@iU@!I$Dw-^^ND$w{G*(dg~Gk9qIS
zd%u}qhK7;|M)vR9)kPVhzc|w!z>9JEK72M2Mp!aYNfKY#id19?SxPA?agA)otavGI
zB}xgwN6Y~$SxUlMd5B6WEUh3ldd%G|tFj;e*fE<m$M%!=44bUD)Ua!+<fkf>=q}M}
z)W8)H`kch!8-f4nG~~32T<KqB4YK-K+5yR4C~ZSNI8u|bf}=oVI1UuPKofWXXcDJt
zaxK=D@Zdw#k`~bpINS@Jwq=(`J0C5Chw$(YNcKW$JJO1@<TX*Dw$f7AZ*H_}kI<K)
z9Uf^ZRSBoLbyeO`zz6(;fivzvcMW^O{r$PDBX+6JcdWao73n`U?YHAK6XT+tE#V9v
zeaYDJ|BQXX4q}huv7h7(I7K^(FX8c4)Q|)hb2HtH5$Zc}Sfy61KWabsH6XLCU<62;
zSXPx?nez4svMV2RaGb9xcPL2LMhJMpXbOlbKLZNm=$6=_%5)I8U|WK(_?-bM_y6q2
zANct57VyH&&~v)uP&W*^N(fV6c+<z=e|jCrCaR$p`aIK?dI8?L0PgSPZ$?+pE>b1R
zp#--{&KLYx#c?QRjHi^#oqh7bJLOLqp{#7XcB8yV*qZCq%XRA1X66coGN{%GEn9kB
zTh(oB!n$D_uI3WvvNETdj<IHw2b!s`k$k;*mYg>Y=2jf5zOZp!SoGXh4U?+gFx~vT
z=~Q%+Ex@8{%?rYEKsv}9DF$<U{rlwB&HeQBL3%nAo`MYuN-c^goyo<bDs7BjeZAf+
zs4Q13=J;|(Wxm4S2tPr-s*{RKFjOG|Hk{0C4C@Te=L*{!U<<+<YLfCxNqNEj<a_mI
za7OB9G|1P~D5+C^Hk}fG5Y*cJhGDvf&HPw!B0sCKRi|NMVXD<k=e}-gwr&xBKx2B9
za1Z|QZ4ugV><=k*s6VDv9ct;W28o)wt-GL6<Nkn%UWZ2z-aOto15||3EKhNgr<me7
z1m}1oU;;;P_A+lVj@eu=D94eX{jbhY71aFgU|#?LJLqY8(#y^Ub3Z+Ike=(@If<e1
zsjVe%?8^4)ql9;L?(x!-CGXw4hndN(2``=7p8fSRZ~Err?2}n<_TEWE8e5h+caKC<
zA5B3Y_eY8cBgM`~Pg4`$Hn*>Av;EYygVeRo;-NC-DO0}-3JaKjC{qVLY#<EiepeOP
zglzAwP#F3NC4rNd*$W=PTi_?8fdt%Mh<G7xU{A-P((0g}=)#D;%DeN57630FbQZvn
zr{n=OTmVrh^5f?+dYSJ@vsJxL%x1nu9E-TL8338zegC!K9_M@RalZH73b>2T(=^zN
ztOQQZ67!aW8zxzx1yJxOiB*6=PbKM)<Kx9Y4;5ZGkI>s*|2&B$rOPMic_Nbd2l>Gg
AOaK4?

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