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 zcmbR1yV{p;IWI340|NttdWc<GhT=p%3C493)#Lqg1)~HR8B!Qh*m8t&g`<QS8B&B& zI8sGYI8#N_SW>uJSfj*JxKsI4cv3}EcvD5w*i!gfSfa$iYWPzn(pXXiT3DhaQv_QW zqNFBXaFJ!c#U7BKQ<<KhcZ<s>GcPr`q$o2l{T9D(X--MzWCg}xE_Mb624)5ZhR=GF zYZ-6Xr!&;D*RZ9qOM;vS##wA&ih+TlmZOFvhJ}Hlma~?tmb;d_hB<|!ikpF<mZyfN zgde7gfuV*og|mv4fngaV1H)=Ym^fG^Zw;FZL+qMbz7j#0I0HisUky(R7f45qFz+&E z28Puj2Z7~l`D^$mUtkqy=F8%mT%aHp!N^b|4weBEHT<Y{)bf`g9L|76RvN4gOq9ri zDKJsPKY1U!3?Ilg7lv5-T7epY1^km2N{I^dp;}O+QNs>)kH7)}kUS&b<bCXNB0Ua_ z4CxHDf+_5^LN)9z46z?-g*U6PR5BVe_8dszE71qr0w!vNP))3nNa3HuR3n=rFo(HT zu10Y31y)T(p%m6CUIvC*p`MQ^f;B=lJT<&E%r$~3LUY(^<!cxhNK9TRB{JEFt(K8} z^9HsCRz`uzhCGstij%#0G#U9Om-75#<epr>JBd+vGBe)}HeLn>h9bVn2l-TkZ*iw& zmSv`-ro`ta78HTpb&I{YB(bO@z5>Rmyu}z_qzcla1|mcm7#MD`=49rj7T;n4QAO$? zVR?`+OG#!<>SRlPD@KdSCHzW^0+Xln$18||q}Y>7OTcy{FfcHH98he_!obkL@IfSh zvY0@=vbbai_XjoxA*mUPQ>3p5DtEBmP*lIjA=kk^L41bdjKBw?Dw7urC@M-Qd|=?? z6ao_+?oUPJ7qG98+TgfSW<&Kw5$7u+&Xd0h_|`M=Ix~J?0Fe_|ZU~D{x1VIc!2F`H z_7!364-AZg&Wtxi<gbgUT@q1SP;y<};*z?>4)KfXj#tzjFN!!_5plX8;`HMIkKhM3 z1`)9ijt^`MV&WZKAJ`Z~6+SS?aLRy*4wna-x@)8_@~CyVPB5LJx<K@<sMHM81+FVx z>lgZ7ls4Mncu~~sim2IM)*Yz_N>7v?ti5O#dLcaGqDABti^vP2ksWRilvFP8$lv9c zoT0Lm{UX1{6@HBm49vXtH{_J&<X(|8`oO>>Xb&bPxZPFLUg5UEaE<4N!i#E_SJW)` znjR24!FWXSgyThPzbn>$7gYTx_}vguzb;a*cS%HVMcqXayDK7g7r^MLw9*A-vy0N^ zSES85d~S#<UlBL$@OU6BJ;V2ku+|3#MqbGq0umoM7$lXRDyc5WTByH7|Av~*2Uccz zp$`lof`dU;^#d=v4BrO^b{W17pASL|yrTX7UH&tCF7jwz;nBRnqj`fzY=&Z|KTC&K zhu7w{LUS2aw0!g!&ggOZi7=nBa1`|8XFkWz>L<c{i=`kxrxKd1Cg+Jbu(H;2)^JYN z6_sS?Ok=8HtKppND{3#xS;GWQ`J6SJHSF2o!efJJ4NEO|4R;OOWPMRlcJ3P1G^QHv z$rnW&dAVyC!K%Tsn`eqXW2^@y=^{>03N>V4V9?|#N(8YH$r&sk0ul=a5n&)A9F$<W z(u*=v;z0?#_!eVjQ4mOsv7(rVfq_8*2^4`+caZ@|8;Iy+U|=Xd%K%Q<QVe`TlmCh9 zPOg=3n4BdcJXu@9e)3)k4n~R1$0USVgf&49V!XwXnwOlPl9`w8RwOm~jf|YDJIE@g z{Nh_I1&JjYx7boEGK))!i?~5{=z-)|@(WV)id?|Vl+xUSTP!*Gi77>353&@2GFMUB zWPe#Pez4o@K>9$$y3HlBr<p}-xj@bj$jL7$R!CHUX8*}?iYb#XD7G03fE>kCqy;jZ z$2~RQC9x#Yttc@!Rg<Ym1Y}Y$$cIeeP=NSdd~%nPBIC`;Ym^KbB_`ifa%FU%tfH(V z2sVP#JvBc#wJ0;SxJY1fqOu&L@8kw$QC*NBw|I&Y^HTD2<CF7q@{5W=)e6XA3JMTo zZ9$fSi1U*VDIXS*0J)2?2o(I9(nWb7NtekpRpc49Cht@U^ezI`pSO66Q;W({i}aH7 z^WY(71@Z}NT26jqNl^kw8z`D?v7}@smlT0Qr3hq4kq}4*WJi(M<N#H1M&rpDs>L#n z7Z`A&$sbik^ePz{r9Uu$$OXX=dWR{5#zIz1HdfPQ^qL&2ro`wpxj{{m1!N%rM&lJ| 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