jsts/testxml/general/TestValid2.xml
2016-02-05 07:59:16 +01:00

5247 lines
129 KiB
XML

<run>
<precisionModel type="FLOATING"/>
<case>
<desc>Test 1</desc>
<a>
LINESTRING (-123456789 -40, 381039468754763 123456789)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 2</desc>
<a>
POINT (0 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 3</desc>
<a>
POLYGON ((20 20, 20 100, 120 100, 140 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 4</desc>
<a>
POLYGON ((20 20, 140 20, 120 100, 20 100, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 5</desc>
<a>
POLYGON ((120 100, 140 20, 20 20, 20 100, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 6</desc>
<a>
POLYGON ((20 100, 60 100, 120 100, 140 20, 80 20, 20 20, 20 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 7</desc>
<a>
POLYGON ((0 0, 80 0, 80 80, 0 80, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 8</desc>
<a>
POLYGON ((100 200, 100 140, 180 140, 180 200, 100 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 9</desc>
<a>
POLYGON ((140 120, 160 20, 20 20, 20 120, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 10</desc>
<a>
POLYGON ((140 120, 140 200, 240 200, 240 120, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 11</desc>
<a>
POLYGON ((80 180, 140 260, 260 200, 200 60, 80 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 12</desc>
<a>
POLYGON ((240 80, 140 120, 180 240, 280 200, 240 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 13</desc>
<a>
POLYGON ((140 160, 20 20, 270 20, 150 160, 230 40, 60 40, 140 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 14</desc>
<a>
POLYGON ((140 40, 180 80, 120 100, 140 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 15</desc>
<a>
POLYGON ((120 100, 180 80, 130 40, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 16</desc>
<a>
POLYGON ((20 20, 180 20, 140 140, 20 140, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 17</desc>
<a>
POLYGON ((180 100, 80 200, 180 280, 260 200, 180 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 18</desc>
<a>
POLYGON ((140 140, 20 120, 0 220, 120 240, 140 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 19</desc>
<a>
POLYGON ((160 200, 210 70, 120 70, 160 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 20</desc>
<a>
POLYGON ((160 200, 260 40, 70 40, 160 200, 20 20, 310 20, 160 200))
</a>
<test> <op name="isValid" arg1="A"> false </op> </test>
</case>
<case>
<desc>Test 21</desc>
<a>
POLYGON ((110 140, 200 70, 200 160, 110 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 22</desc>
<a>
POLYGON ((110 140, 110 50, 60 50, 60 90, 160 190, 20 110, 20 20, 200 20, 110 140))
</a>
<test> <op name="isValid" arg1="A"> false </op> </test>
</case>
<case>
<desc>Test 23</desc>
<a>
POLYGON ((20 120, 20 20, 260 20, 260 120, 200 40, 140 120, 80 40, 20 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 24</desc>
<a>
POLYGON ((20 120, 20 240, 260 240, 260 120, 200 200, 140 120, 80 200, 20 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 25</desc>
<a>
POLYGON ((20 120, 20 20, 260 20, 260 120, 180 40, 140 120, 100 40, 20 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 26</desc>
<a>
POLYGON ((20 120, 300 120, 140 240, 20 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 27</desc>
<a>
POLYGON ((20 20, 20 300, 280 300, 280 260, 220 260, 60 100, 60 60, 280 60, 280 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 28</desc>
<a>
POLYGON ((100 140, 160 80, 280 180, 200 240, 220 160, 160 200, 180 120, 100 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 29</desc>
<a>
POLYGON ((260 200, 180 80, 120 160, 200 160, 180 220, 260 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 30</desc>
<a>
POLYGON ((20 20, 280 20, 280 140, 220 60, 140 140, 80 60, 20 140, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 31</desc>
<a>
POLYGON ((0 140, 300 140, 140 240, 0 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 32</desc>
<a>
POLYGON ((20 240, 20 140, 320 140, 180 240, 20 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 33</desc>
<a>
POLYGON ((20 240, 20 140, 80 180, 140 140, 220 180, 280 140, 280 240, 20 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 34</desc>
<a>
POLYGON ((120 120, 180 60, 20 20, 20 120, 120 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 35</desc>
<a>
POLYGON ((120 120, 220 20, 280 20, 240 160, 120 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 36</desc>
<a>
POLYGON ((140 120, 160 20, 260 120, 220 200, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 37</desc>
<a>
POLYGON ((20 140, 120 40, 20 40, 20 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 38</desc>
<a>
POLYGON ((190 140, 190 20, 140 20, 20 140, 190 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 39</desc>
<a>
POLYGON ((300 20, 220 20, 120 120, 260 160, 300 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 40</desc>
<a>
POLYGON ((140 120, 240 160, 280 60, 160 20, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 41</desc>
<a>
POLYGON ((280 60, 180 60, 120 120, 260 180, 280 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 42</desc>
<a>
POLYGON ((120 200, 120 120, 40 120, 40 200, 120 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 43</desc>
<a>
POLYGON ((160 220, 140 120, 60 120, 40 220, 160 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 44</desc>
<a>
POLYGON ((140 120, 20 120, 20 220, 140 220, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 45</desc>
<a>
POLYGON ((320 20, 220 20, 80 160, 240 140, 320 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 46</desc>
<a>
POLYGON ((20 20, 20 180, 220 180, 220 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 47</desc>
<a>
POLYGON ((60 40, 60 140, 180 140, 180 40, 60 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 48</desc>
<a>
POLYGON ((20 20, 80 140, 160 60, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 49</desc>
<a>
POLYGON ((160 60, 20 20, 100 140, 160 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 50</desc>
<a>
POLYGON ((20 100, 140 160, 160 40, 20 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 51</desc>
<a>
POLYGON ((160 40, 20 100, 160 160, 160 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 52</desc>
<a>
POLYGON ((20 180, 180 120, 80 40, 20 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 53</desc>
<a>
POLYGON ((180 120, 100 40, 20 180, 180 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 54</desc>
<a>
POLYGON ((20 20, 140 40, 140 120, 20 160, 80 80, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 55</desc>
<a>
POLYGON ((20 20, 140 40, 140 140, 20 180, 80 100, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 56</desc>
<a>
POLYGON ((40 180, 60 100, 180 100, 200 180, 120 120, 40 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 57</desc>
<a>
POLYGON ((20 180, 60 80, 180 80, 220 180, 120 120, 20 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 58</desc>
<a>
POLYGON ((40 60, 20 180, 100 100, 140 180, 160 120, 220 100, 140 40, 40 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 59</desc>
<a>
POLYGON ((60 100, 180 100, 220 180, 120 140, 20 180, 60 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 60</desc>
<a>
POLYGON ((20 20, 20 140, 120 120, 120 40, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 61</desc>
<a>
POLYGON ((20 20, 20 180, 140 140, 140 60, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 62</desc>
<a>
POLYGON ((20 20, 120 40, 120 120, 20 140, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 63</desc>
<a>
POLYGON ((120 40, 20 20, 20 140, 120 120, 120 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 64</desc>
<a>
POLYGON ((20 20, 140 60, 140 140, 20 180, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 65</desc>
<a>
POLYGON ((140 60, 20 20, 20 180, 140 140, 140 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 66</desc>
<a>
POLYGON ((20 20, 60 120, 140 120, 180 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 67</desc>
<a>
POLYGON ((20 40, 120 40, 120 120, 20 140, 20 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 68</desc>
<a>
POLYGON ((20 20, 20 180, 60 120, 100 180, 140 120, 220 180, 200 120, 140 60, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 69</desc>
<a>
POLYGON ((150 150, 330 150, 250 70, 70 70, 150 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 70</desc>
<a>
POLYGON ((150 150, 270 150, 140 20, 20 20, 150 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 71</desc>
<a>
POLYGON ((150 150, 270 150, 330 150, 250 70, 190 70, 70 70, 150 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 72</desc>
<a>
POLYGON ((150 150, 270 150, 190 70, 140 20, 20 20, 70 70, 150 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 73</desc>
<a>
POLYGON ((20 20, 60 50, 20 40, 60 70, 20 60, 60 90, 20 90, 70 110, 20 130, 80 130, 20 150, 80 160, 20 170, 80 180, 20 200, 80 200, 30 240, 80 220, 50 260, 100 220, 100 260, 120 220, 130 260, 140 220, 150 280, 150 190, 160 280, 170 190, 180 280, 190 190, 200 280, 210 190, 220 280, 230 190, 240 260, 250 230, 260 260, 260 220, 290 270, 290 220, 330 260, 300 210, 340 240, 290 180, 340 210, 290 170, 350 170, 240 150, 350 150, 240 140, 350 130, 240 120, 350 120, 240 110, 350 110, 240 100, 350 100, 240 90, 350 90, 240 80, 350 80, 300 70, 340 60, 290 60, 340 40, 300 50, 340 20, 270 60, 310 20, 250 60, 270 20, 230 60, 240 20, 210 60, 210 20, 190 70, 190 20, 180 90, 170 20, 160 90, 150 20, 140 90, 130 20, 120 90, 110 20, 100 90, 100 20, 90 60, 80 20, 70 40, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 74</desc>
<a>
POLYGON ((190 140, 140 130, 200 160, 130 150, 210 170, 130 170, 210 180, 120 190, 220 200, 120 200, 250 210, 120 210, 250 220, 120 220, 250 230, 120 240, 230 240, 120 250, 240 260, 120 260, 240 270, 120 270, 270 290, 120 290, 230 300, 150 310, 250 310, 180 320, 250 320, 200 360, 260 330, 240 360, 280 320, 290 370, 290 320, 320 360, 310 320, 360 360, 310 310, 380 340, 310 290, 390 330, 310 280, 410 310, 310 270, 420 280, 310 260, 430 250, 300 250, 440 240, 300 240, 450 230, 280 220, 440 220, 280 210, 440 210, 300 200, 430 190, 300 190, 440 180, 330 180, 430 150, 320 180, 420 130, 300 180, 410 120, 280 180, 400 110, 280 170, 390 90, 280 160, 400 70, 270 160, 450 30, 260 160, 420 30, 250 160, 390 30, 240 160, 370 30, 230 160, 360 30, 230 150, 330 50, 240 130, 330 30, 230 130, 310 30, 220 130, 280 30, 230 100, 270 40, 220 110, 250 30, 210 130, 240 30, 210 100, 220 40, 200 90, 200 20, 190 100, 180 30, 20 20, 180 40, 20 30, 180 50, 20 50, 180 60, 30 60, 180 70, 20 70, 170 80, 80 80, 170 90, 20 80, 180 100, 40 100, 200 110, 60 110, 200 120, 120 120, 190 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 75</desc>
<a>
POLYGON ((70 150, 20 160, 110 160, 20 180, 100 200, 20 200, 190 210, 20 210, 160 220, 20 220, 150 230, 60 240, 180 250, 20 260, 170 260, 60 270, 160 270, 100 310, 170 280, 200 260, 180 230, 210 260, 130 330, 230 250, 210 290, 240 250, 230 210, 260 300, 250 230, 270 300, 270 240, 300 340, 280 250, 320 330, 290 250, 340 350, 290 240, 350 360, 270 190, 350 340, 290 200, 350 330, 300 190, 360 320, 310 190, 360 300, 320 200, 360 280, 330 200, 360 260, 340 200, 370 260, 340 180, 390 290, 340 170, 400 260, 350 170, 400 250, 350 160, 410 240, 350 150, 400 170, 350 140, 310 170, 340 140, 270 180, 330 140, 260 170, 310 140, 240 170, 290 140, 200 190, 270 140, 180 190, 260 140, 170 190, 260 130, 170 180, 250 130, 170 170, 240 120, 170 160, 210 120, 170 150, 210 110, 340 130, 230 110, 420 140, 220 100, 410 130, 220 90, 400 120, 220 80, 390 110, 220 70, 420 110, 240 70, 420 100, 260 70, 420 90, 280 70, 430 80, 230 60, 430 60, 270 50, 450 40, 210 50, 370 40, 260 40, 460 30, 160 40, 210 60, 200 110, 190 60, 190 120, 170 50, 180 130, 150 30, 170 130, 140 20, 160 120, 130 20, 160 150, 120 20, 160 170, 110 20, 160 190, 100 20, 150 190, 90 20, 140 180, 80 20, 120 140, 70 20, 120 150, 60 20, 110 150, 50 20, 100 140, 50 30, 90 130, 40 30, 80 120, 30 30, 80 130, 30 40, 80 140, 20 40, 70 140, 40 90, 60 130, 20 90, 60 140, 20 130, 70 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 76</desc>
<a>
POLYGON ((60 160, 220 160, 220 20, 60 20, 60 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 77</desc>
<a>
POLYGON ((60 160, 20 200, 260 200, 220 160, 140 80, 60 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 78</desc>
<a>
POLYGON ((60 160, 20 200, 260 200, 140 80, 60 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 79</desc>
<a>
POLYGON ((20 200, 140 80, 260 200, 20 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 80</desc>
<a>
POLYGON ((20 200, 60 160, 140 80, 220 160, 260 200, 20 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 81</desc>
<a>
POLYGON ((20 200, 60 160, 140 80, 260 200, 20 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 82</desc>
<a>
POLYGON ((0 0, 0 200, 200 200, 200 0, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 83</desc>
<a>
POLYGON ((100 100, 1000000 110, 10000000 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 84</desc>
<a>
POLYGON ((100 0, 100 200, 200 200, 200 0, 100 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 85</desc>
<a>
POLYGON ((120 0, 120 200, 200 200, 200 0, 120 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 86</desc>
<a>
POLYGON ((0 0, 0 200, 110 200, 110 0, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 87</desc>
<a>
POLYGON ((100 100, 100 200, 200 200, 200 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 88</desc>
<a>
POLYGON ((100 100, 2100 110, 2100 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 89</desc>
<a>
POLYGON ((100 100, 2101 110, 2101 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 90</desc>
<a>
POLYGON ((100 100, 200 200, 200 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 91</desc>
<a>
POLYGON ((100 100, 1000000 110, 1000000 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 93</desc>
<a>
POLYGON ((120 100, 120 200, 200 200, 200 100, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 94</desc>
<a>
POLYGON ((100 100, 500 110, 500 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 95</desc>
<a>
POLYGON ((100 100, 501 110, 501 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 96</desc>
<a>
POLYGON ((120 100, 130 200, 200 200, 200 100, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 97</desc>
<a>
POLYGON ((120 100, 17 200, 200 200, 200 100, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 98</desc>
<a>
POLYGON ((101 99, 101 1000000, 102 1000000, 101 99))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 99</desc>
<a>
POLYGON ((100 100, 200 101, 200 100, 100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 100</desc>
<a>
POLYGON ((16 319, 150 39, 25 302, 160 20, 265 20, 127 317, 16 319))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 101</desc>
<a>
POLYGON ((10 307, 22 307, 153 34, 22 34, 10 307))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 102</desc>
<a>
POLYGON ((160 200, 310 20, 20 20, 160 200), (160 200, 260 40, 70 40, 160 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 103</desc>
<a>
POLYGON ((170 120, 240 100, 260 50, 190 70, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 104</desc>
<a>
POLYGON ((150 150, 410 150, 280 20, 20 20, 150 150), (170 120, 330 120, 260 50, 100 50, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 105</desc>
<a>
POLYGON ((270 90, 200 50, 150 80, 210 120, 270 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 106</desc>
<a>
POLYGON ((170 120, 260 100, 240 60, 150 80, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 107</desc>
<a>
POLYGON ((220 120, 270 80, 200 60, 160 100, 220 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 108</desc>
<a>
POLYGON ((260 50, 180 70, 180 110, 260 90, 260 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 109</desc>
<a>
POLYGON ((230 110, 290 80, 190 60, 140 90, 230 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 110</desc>
<a>
POLYGON ((170 120, 330 120, 260 50, 100 50, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 111</desc>
<a>
POLYGON ((170 120, 330 120, 280 70, 120 70, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 112</desc>
<a>
POLYGON ((170 120, 300 120, 250 70, 120 70, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 113</desc>
<a>
POLYGON ((190 100, 310 100, 260 50, 140 50, 190 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 114</desc>
<a>
POLYGON ((280 130, 360 130, 270 40, 190 40, 280 130))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 115</desc>
<a>
POLYGON ((150 150, 410 150, 280 20, 20 20, 150 150), (170 120, 250 120, 180 50, 100 50, 170 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 116</desc>
<a>
POLYGON ((220 80, 180 40, 80 40, 170 130, 270 130, 230 90, 300 90, 250 30, 280 30, 390 140, 150 140, 40 30, 230 30, 280 80, 220 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 117</desc>
<a>
POLYGON ((260 130, 360 130, 280 40, 170 40, 260 130))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 118</desc>
<a>
POLYGON ((240 110, 340 110, 290 60, 190 60, 240 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 119</desc>
<a>
POLYGON ((250 120, 350 120, 280 50, 180 50, 250 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 120</desc>
<a>
POLYGON ((230 210, 230 20, 20 20, 20 210, 230 210), (120 180, 50 50, 200 50, 120 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 121</desc>
<a>
POLYGON ((230 210, 230 20, 20 20, 20 210, 230 210), (140 40, 40 40, 40 170, 140 40), (110 190, 210 190, 210 50, 110 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 122</desc>
<a>
POLYGON ((280 190, 330 150, 200 110, 150 150, 280 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 123</desc>
<a>
MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 124</desc>
<a>
POLYGON ((80 190, 220 190, 140 110, 0 110, 80 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 125</desc>
<a>
POLYGON ((330 150, 200 110, 150 150, 280 190, 330 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 126</desc>
<a>
POLYGON ((290 190, 340 150, 220 120, 170 170, 290 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 127</desc>
<a>
POLYGON ((220 190, 340 190, 260 110, 140 110, 220 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 128</desc>
<a>
POLYGON ((140 190, 220 190, 100 70, 20 70, 140 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 129</desc>
<a>
POLYGON ((140 220, 60 140, 140 60, 220 140, 140 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 130</desc>
<a>
MULTIPOLYGON (((100 20, 180 20, 180 100, 100 100, 100 20)), ((20 100, 100 100, 100 180, 20 180, 20 100)), ((100 180, 180 180, 180 260, 100 260, 100 180)), ((180 100, 260 100, 260 180, 180 180, 180 100)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 131</desc>
<a>
MULTIPOLYGON (((110 110, 70 200, 150 200, 110 110)), ((110 110, 150 20, 70 20, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 132</desc>
<a>
MULTIPOLYGON (((110 110, 160 160, 210 110, 160 60, 110 110)), ((110 110, 60 60, 10 110, 60 160, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 133</desc>
<a>
MULTIPOLYGON (((110 110, 70 200, 150 200, 110 110), (110 110, 100 180, 120 180, 110 110)), ((110 110, 150 20, 70 20, 110 110), (110 110, 120 40, 100 40, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 134</desc>
<a>
MULTIPOLYGON (((110 110, 160 160, 210 110, 160 60, 110 110), (110 110, 160 130, 160 90, 110 110)), ((110 110, 60 60, 10 110, 60 160, 110 110), (110 110, 60 90, 60 130, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 135</desc>
<a>
MULTIPOLYGON (((110 110, 70 200, 200 200, 110 110), (110 110, 100 180, 120 180, 110 110)), ((110 110, 200 20, 70 20, 110 110), (110 110, 120 40, 100 40, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 136</desc>
<a>
MULTIPOLYGON (((110 110, 20 200, 200 200, 110 110), (110 110, 100 180, 120 180, 110 110)), ((110 110, 200 20, 20 20, 110 110), (110 110, 120 40, 100 40, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 137</desc>
<a>
MULTIPOLYGON (((110 110, 70 200, 210 110, 70 20, 110 110), (110 110, 110 140, 150 110, 110 80, 110 110)), ((110 110, 60 60, 10 110, 60 160, 110 110), (110 110, 60 90, 60 130, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 138</desc>
<a>
POLYGON ((100 60, 140 100, 100 140, 60 100, 100 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 139</desc>
<a>
MULTIPOLYGON (((80 40, 120 40, 120 80, 80 80, 80 40)), ((120 80, 160 80, 160 120, 120 120, 120 80)), ((80 120, 120 120, 120 160, 80 160, 80 120)), ((40 80, 80 80, 80 120, 40 120, 40 80)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 140</desc>
<a>
LINESTRING (150 150, 40 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 141</desc>
<a>
POLYGON ((150 150, 410 150, 280 20, 20 20, 150 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 142</desc>
<a>
LINESTRING (40 40, 50 130, 130 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 143</desc>
<a>
LINESTRING (40 230, 150 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 144</desc>
<a>
LINESTRING (210 150, 330 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 145</desc>
<a>
LINESTRING (200 150, 310 150, 360 220)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 146</desc>
<a>
LINESTRING (180 150, 250 150, 230 250, 370 250, 410 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 147</desc>
<a>
LINESTRING (210 210, 220 150, 320 150, 370 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 148</desc>
<a>
LINESTRING (20 60, 150 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 149</desc>
<a>
LINESTRING (60 90, 310 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 150</desc>
<a>
LINESTRING (90 210, 210 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 151</desc>
<a>
LINESTRING (290 10, 130 170)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 152</desc>
<a>
LINESTRING (30 100, 100 100, 180 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 153</desc>
<a>
LINESTRING (20 100, 100 100, 360 100, 410 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 154</desc>
<a>
LINESTRING (90 210, 150 150, 210 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 155</desc>
<a>
LINESTRING (180 90, 280 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 156</desc>
<a>
LINESTRING (70 70, 80 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 157</desc>
<a>
LINESTRING (130 20, 150 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 158</desc>
<a>
LINESTRING (70 70, 80 20, 140 20, 150 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 159</desc>
<a>
LINESTRING (170 50, 170 20, 240 20, 260 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 160</desc>
<a>
LINESTRING (50 100, 140 190, 280 190)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 161</desc>
<a>
LINESTRING (140 60, 180 100, 290 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 162</desc>
<a>
LINESTRING (170 120, 210 80, 270 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 163</desc>
<a>
LINESTRING (170 120, 260 50)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 164</desc>
<a>
LINESTRING (190 90, 190 270)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 165</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (190 190, 280 50, 100 50, 190 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 166</desc>
<a>
LINESTRING (60 160, 150 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 167</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (110 110, 250 100, 140 30, 110 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 168</desc>
<a>
POLYGON ((190 190, 20 20, 360 20, 190 190), (250 100, 110 110, 140 30, 250 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 169</desc>
<a>
LINESTRING (190 90, 190 190, 190 270)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 170</desc>
<a>
LINESTRING (60 160, 110 110, 150 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 171</desc>
<a>
POLYGON ((190 190, 110 110, 20 20, 360 20, 190 190), (250 100, 110 110, 140 30, 250 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 172</desc>
<a>
LINESTRING (130 110, 180 110, 190 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 173</desc>
<a>
POLYGON ((20 200, 240 200, 240 20, 20 20, 20 200), (130 110, 60 180, 60 40, 130 110), (130 110, 200 40, 200 180, 130 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 174</desc>
<a>
LINESTRING (80 110, 180 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 175</desc>
<a>
POLYGON ((20 200, 20 20, 240 20, 240 200, 20 200), (60 180, 130 110, 60 40, 60 180), (130 110, 200 40, 200 180, 130 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 176</desc>
<a>
LINESTRING (80 110, 170 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 177</desc>
<a>
POLYGON ((20 200, 20 20, 240 20, 240 200, 20 200), (130 110, 60 40, 60 180, 130 110), (130 180, 130 40, 200 110, 130 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 178</desc>
<a>
LINESTRING (80 110, 130 110, 170 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 179</desc>
<a>
LINESTRING (80 110, 130 110, 180 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 180</desc>
<a>
LINESTRING (160 70, 320 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 181</desc>
<a>
LINESTRING (160 70, 200 110, 280 190, 320 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 182</desc>
<a>
LINESTRING (70 50, 70 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 183</desc>
<a>
MULTIPOLYGON (((0 0, 0 100, 140 100, 140 0, 0 0)), ((20 170, 70 100, 130 170, 20 170)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 184</desc>
<a>
LINESTRING (110 110, 20 200, 200 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 185</desc>
<a>
POLYGON ((20 20, 200 20, 110 110, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 186</desc>
<a>
LINESTRING (150 70, 160 110, 200 60, 150 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 187</desc>
<a>
LINESTRING (80 60, 120 40, 120 70, 80 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 188</desc>
<a>
POLYGON ((110 110, 200 20, 20 20, 110 110), (110 90, 50 30, 170 30, 110 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 189</desc>
<a>
LINESTRING (20 20, 200 20, 110 110, 20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 190</desc>
<a>
LINESTRING (110 90, 170 30, 50 30, 110 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 191</desc>
<a>
LINESTRING (110 110, 170 50, 170 110, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 192</desc>
<a>
LINESTRING (110 90, 70 50, 130 50, 110 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 193</desc>
<a>
LINESTRING (110 60, 20 150, 200 150, 110 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 194</desc>
<a>
LINESTRING (110 130, 110 70, 200 100, 110 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 195</desc>
<a>
LINESTRING (110 90, 160 40, 60 40, 110 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 196</desc>
<a>
LINESTRING (110 100, 40 30, 180 30, 110 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 197</desc>
<a>
POLYGON ((110 110, 200 20, 20 20, 110 110), (110 90, 60 40, 160 40, 110 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 198</desc>
<a>
LINESTRING (110 110, 180 30, 40 30, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 199</desc>
<a>
LINESTRING (110 90, 180 30, 40 30, 110 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 200</desc>
<a>
LINESTRING (110 90, 50 30, 180 30, 110 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 201</desc>
<a>
LINESTRING (110 110, 200 200, 200 110, 110 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 202</desc>
<a>
POLYGON ((110 110, 200 20, 20 20, 110 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 203</desc>
<a>
LINESTRING (110 110, 200 200, 110 110, 20 200, 20 110, 200 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 204</desc>
<a>
LINESTRING (110 110, 20 110, 200 110, 50 110, 110 170)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 205</desc>
<a>
LINESTRING (110 110, 20 200, 110 200, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 206</desc>
<a>
LINESTRING (110 110, 170 50, 20 200, 20 110, 200 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 207</desc>
<a>
LINESTRING (110 110, 180 40, 110 40, 110 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 208</desc>
<a>
LINESTRING (110 60, 50 30, 170 30, 90 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 209</desc>
<a>
LINESTRING (110 110, 180 40, 110 40, 110 110, 70 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 210</desc>
<a>
LINESTRING (230 70, 170 120, 190 60, 140 60, 170 120, 270 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 211</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (200 200, 110 110, 20 210, 110 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 212</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (60 180, 60 110, 160 110, 110 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 213</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (200 200, 110 110, 20 200, 110 200, 110 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 214</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (110 50, 110 170, 110 70, 110 150, 200 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 215</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (50 110, 170 110, 110 170, 110 50, 110 170, 110 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 216</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (110 60, 110 160, 200 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 217</desc>
<a>
MULTILINESTRING ((110 100, 40 30, 180 30), (170 30, 110 90, 50 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 218</desc>
<a>
MULTILINESTRING ((110 110, 60 40, 70 20, 150 20, 170 40), (180 30, 40 30, 110 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 219</desc>
<a>
MULTILINESTRING ((20 110, 200 110, 200 160), (110 110, 200 110, 200 70, 20 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 220</desc>
<a>
MULTIPOLYGON (((110 110, 20 20, 200 20, 110 110)), ((110 110, 20 200, 200 200, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 221</desc>
<a>
MULTILINESTRING ((20 160, 70 110, 150 110, 200 160), (110 110, 20 110, 50 80, 70 110, 200 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 222</desc>
<a>
MULTILINESTRING ((20 110, 200 110), (110 110, 20 170, 20 130, 200 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 223</desc>
<a>
LINESTRING (0 0, 0 50, 50 50, 50 0, 0 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 224</desc>
<a>
MULTILINESTRING ((0 0, 0 50), (0 50, 50 50), (50 50, 50 0), (50 0, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 225</desc>
<a>
LINESTRING (40 180, 140 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 226</desc>
<a>
MULTIPOLYGON (((20 320, 180 320, 180 180, 20 180, 20 320)), ((20 180, 20 80, 180 80, 180 180, 20 180)))
</a>
<test> <op name="isValid" arg1="A"> false </op> </test>
</case>
<case>
<desc>Test 227</desc>
<a>
MULTIPOLYGON (((20 320, 180 320, 180 180, 20 180, 20 320)), ((60 180, 60 80, 180 80, 180 180, 60 180)))
</a>
<test> <op name="isValid" arg1="A"> false </op> </test>
</case>
<case>
<desc>Test 228</desc>
<a>
LINESTRING (0 0, 60 0, 60 60, 60 0, 120 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 229</desc>
<a>
MULTILINESTRING ((0 0, 60 0), (60 0, 120 0), (60 0, 60 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 230</desc>
<a>
LINESTRING (40 40, 120 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 231</desc>
<a>
LINESTRING (40 40, 60 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 232</desc>
<a>
LINESTRING (60 240, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 233</desc>
<a>
LINESTRING (40 40, 180 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 234</desc>
<a>
LINESTRING (120 120, 20 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 235</desc>
<a>
LINESTRING (60 240, 120 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 236</desc>
<a>
LINESTRING (20 180, 140 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 237</desc>
<a>
LINESTRING (40 120, 120 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 238</desc>
<a>
LINESTRING (40 40, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 239</desc>
<a>
LINESTRING (100 100, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 240</desc>
<a>
LINESTRING (40 120, 120 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 241</desc>
<a>
LINESTRING (20 20, 180 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 242</desc>
<a>
LINESTRING (20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 243</desc>
<a>
LINESTRING (50 50, 140 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 244</desc>
<a>
LINESTRING (180 180, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 245</desc>
<a>
LINESTRING (120 120, 260 260)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 246</desc>
<a>
LINESTRING (260 260, 120 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 247</desc>
<a>
LINESTRING (40 40, 100 100, 200 120, 80 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 248</desc>
<a>
LINESTRING (40 40, 20 100, 40 160, 20 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 249</desc>
<a>
LINESTRING (20 200, 40 160, 20 100, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 250</desc>
<a>
LINESTRING (80 240, 200 120, 100 100, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 251</desc>
<a>
LINESTRING (60 60, 60 230, 140 230, 250 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 252</desc>
<a>
LINESTRING (20 20, 60 60, 250 160, 310 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 253</desc>
<a>
LINESTRING (20 20, 110 110, 200 110, 320 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 254</desc>
<a>
LINESTRING (60 110, 60 250, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 255</desc>
<a>
LINESTRING (60 110, 110 160, 250 160, 310 160, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 256</desc>
<a>
LINESTRING (360 210, 310 160, 110 160, 60 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 257</desc>
<a>
LINESTRING (160 160, 240 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 258</desc>
<a>
LINESTRING (240 240, 160 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 259</desc>
<a>
LINESTRING (60 150, 110 100, 170 100, 110 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 260</desc>
<a>
LINESTRING (200 120, 200 190, 150 240, 200 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 261</desc>
<a>
LINESTRING (200 240, 150 240, 200 200, 200 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 262</desc>
<a>
LINESTRING (60 230, 80 140, 120 140, 140 230)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 263</desc>
<a>
LINESTRING (60 110, 200 110, 250 160, 300 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 264</desc>
<a>
LINESTRING (60 110, 200 110, 250 160, 300 210, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 265</desc>
<a>
LINESTRING (60 110, 220 110, 250 160, 280 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 266</desc>
<a>
LINESTRING (60 110, 150 110, 200 160, 250 110, 360 110, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 267</desc>
<a>
LINESTRING (130 160, 160 110, 220 110, 250 160, 250 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 268</desc>
<a>
LINESTRING (130 160, 160 110, 190 110, 230 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 269</desc>
<a>
LINESTRING (130 160, 160 110, 200 110, 230 160, 260 210, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 270</desc>
<a>
LINESTRING (130 160, 160 110, 200 110, 230 160, 260 210, 360 210, 380 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 271</desc>
<a>
LINESTRING (130 160, 160 110, 200 110, 230 160, 260 210, 380 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 272</desc>
<a>
LINESTRING (110 160, 160 110, 200 110, 250 160, 250 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 273</desc>
<a>
LINESTRING (110 160, 180 110, 250 160, 320 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 274</desc>
<a>
LINESTRING (140 160, 180 80, 220 160, 250 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 275</desc>
<a>
LINESTRING (40 40, 100 100, 200 120, 130 190)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 276</desc>
<a>
LINESTRING (20 130, 70 130, 160 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 277</desc>
<a>
LINESTRING (40 160, 40 100, 110 40, 170 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 278</desc>
<a>
LINESTRING (130 110, 180 160, 230 110, 280 160, 330 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 279</desc>
<a>
LINESTRING (30 140, 80 140, 100 100, 200 30)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 280</desc>
<a>
LINESTRING (110 110, 110 160, 180 110, 250 160, 250 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 281</desc>
<a>
LINESTRING (20 20, 80 80, 160 80, 240 80, 300 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 282</desc>
<a>
LINESTRING (20 60, 60 60, 60 140, 80 80, 100 20, 140 140, 180 20, 200 80, 220 20, 240 80, 300 80, 270 110, 200 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 283</desc>
<a>
LINESTRING (20 20, 230 20, 20 30, 170 30, 20 40, 230 40, 20 50, 230 60, 60 60, 230 70, 20 70, 180 80, 60 80, 230 90, 20 90, 230 100, 30 100, 210 110, 20 110, 80 120, 20 130, 170 130, 90 120, 230 130, 170 140, 230 140, 80 150, 160 140, 20 140, 70 150, 20 150, 230 160, 80 160, 230 170, 20 160, 180 170, 20 170, 230 180, 20 180, 40 190, 230 190, 20 200, 230 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 284</desc>
<a>
LINESTRING (30 210, 30 60, 40 210, 40 30, 50 190, 50 20, 60 160, 60 50, 70 220, 70 50, 80 20, 80 210, 90 50, 90 150, 100 30, 100 210, 110 20, 110 190, 120 50, 120 180, 130 210, 120 20, 140 210, 130 50, 150 210, 130 20, 160 210, 140 30, 170 210, 150 20, 180 210, 160 20, 190 210, 180 80, 170 50, 170 20, 180 70, 180 20, 190 190, 190 30, 200 210, 200 30, 210 210, 210 20, 220 150, 220 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 285</desc>
<a>
LINESTRING (80 240, 120 200, 200 120, 100 100, 80 80, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 286</desc>
<a>
LINESTRING (260 210, 240 130, 280 120, 260 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 287</desc>
<a>
LINESTRING (100 20, 20 20, 20 160, 210 160, 210 20, 110 20, 50 120, 120 150, 200 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 288</desc>
<a>
LINESTRING (140 130, 100 110, 120 60, 170 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 289</desc>
<a>
LINESTRING (60 110, 110 160, 310 160, 360 210)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 290</desc>
<a>
LINESTRING (60 110, 110 160, 250 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 291</desc>
<a>
LINESTRING (110 160, 310 160, 340 190)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 292</desc>
<a>
LINESTRING (140 160, 250 160, 310 160, 340 190)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 293</desc>
<a>
LINESTRING (110 160, 250 160, 310 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 294</desc>
<a>
LINESTRING (200 120, 100 100, 40 40, 140 80, 200 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 295</desc>
<a>
LINESTRING (280 240, 240 140, 200 120, 100 100, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 296</desc>
<a>
LINESTRING (80 190, 140 140, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 297</desc>
<a>
LINESTRING (240 200, 200 260, 80 240, 140 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 298</desc>
<a>
LINESTRING (140 180, 80 240, 200 260, 240 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 299</desc>
<a>
LINESTRING (280 240, 240 140, 200 120, 80 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 300</desc>
<a>
LINESTRING (20 80, 120 80, 200 80, 260 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 301</desc>
<a>
LINESTRING (100 100, 200 120, 240 140, 280 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 302</desc>
<a>
LINESTRING (280 240, 240 140, 200 120, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 303</desc>
<a>
LINESTRING (80 20, 80 80, 240 80, 300 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 304</desc>
<a>
LINESTRING (20 80, 80 80, 120 80, 140 140, 160 80, 200 80, 220 20, 240 80, 270 110, 300 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 305</desc>
<a>
LINESTRING (100 100, 20 180, 180 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 306</desc>
<a>
LINESTRING (100 100, 180 20, 20 20, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 307</desc>
<a>
LINESTRING (20 100, 180 100, 100 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 308</desc>
<a>
LINESTRING (100 40, 100 160, 180 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 309</desc>
<a>
LINESTRING (20 100, 100 100, 180 100, 100 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 310</desc>
<a>
LINESTRING (100 100, 160 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 311</desc>
<a>
LINESTRING (100 100, 180 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 312</desc>
<a>
LINESTRING (60 60, 100 100, 140 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 313</desc>
<a>
LINESTRING (100 100, 190 10, 190 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 314</desc>
<a>
LINESTRING (100 100, 160 40, 160 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 315</desc>
<a>
LINESTRING (60 140, 160 40, 160 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 316</desc>
<a>
LINESTRING (20 20, 140 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 317</desc>
<a>
LINESTRING (80 80, 20 80, 140 80, 80 20, 80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 318</desc>
<a>
LINESTRING (80 80, 20 80, 140 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 319</desc>
<a>
LINESTRING (80 80, 140 80, 80 20, 80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 320</desc>
<a>
LINESTRING (80 80, 20 80, 140 80, 80 20, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 321</desc>
<a>
LINESTRING (80 80, 20 80, 140 80, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 322</desc>
<a>
LINESTRING (80 80, 20 80, 20 140, 140 20, 80 20, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 323</desc>
<a>
LINESTRING (20 140, 140 20, 100 20, 100 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 324</desc>
<a>
LINESTRING (140 80, 20 80, 120 80, 80 20, 80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 325</desc>
<a>
LINESTRING (140 80, 20 80, 140 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 326</desc>
<a>
LINESTRING (140 80, 20 80, 80 140, 80 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 327</desc>
<a>
LINESTRING (140 80, 80 80, 20 80, 50 140, 50 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 328</desc>
<a>
LINESTRING (140 80, 20 80, 120 80, 80 20, 80 80, 80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 329</desc>
<a>
LINESTRING (140 80, 20 80, 80 80, 140 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 330</desc>
<a>
LINESTRING (140 80, 20 80, 80 140, 80 80, 80 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 331</desc>
<a>
LINESTRING (130 150, 220 150, 220 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 332</desc>
<a>
LINESTRING (130 240, 130 150, 220 20, 50 20, 130 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 333</desc>
<a>
LINESTRING (30 150, 130 150, 250 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 334</desc>
<a>
LINESTRING (30 150, 250 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 335</desc>
<a>
LINESTRING (130 240, 130 20, 30 20, 130 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 336</desc>
<a>
LINESTRING (120 240, 120 20, 20 20, 120 170)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 337</desc>
<a>
LINESTRING (200 200, 20 20, 200 20, 110 110, 20 200, 110 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 338</desc>
<a>
LINESTRING (110 110, 200 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 339</desc>
<a>
LINESTRING (20 110, 200 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 340</desc>
<a>
LINESTRING (90 200, 90 130, 110 110, 150 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 341</desc>
<a>
LINESTRING (200 200, 20 20, 200 20, 20 200, 20 130, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 342</desc>
<a>
LINESTRING (200 110, 110 110, 90 130, 90 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 343</desc>
<a>
LINESTRING (80 80, 150 80, 210 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 344</desc>
<a>
MULTILINESTRING ((20 20, 140 140), (20 140, 140 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 345</desc>
<a>
LINESTRING (40 80, 160 200, 260 20, 40 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 346</desc>
<a>
LINESTRING (40 80, 260 20, 160 200, 40 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 347</desc>
<a>
LINESTRING (260 20, 40 80, 160 200, 260 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 348</desc>
<a>
LINESTRING (100 140, 160 200, 260 20, 40 80, 100 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 349</desc>
<a>
LINESTRING (100 100, 180 180, 20 180, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 350</desc>
<a>
LINESTRING (40 150, 40 40, 150 40, 150 150, 40 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 351</desc>
<a>
LINESTRING (40 150, 150 40, 170 20, 170 190, 40 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 352</desc>
<a>
LINESTRING (180 100, 20 100, 100 180, 180 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 353</desc>
<a>
LINESTRING (180 180, 100 100, 20 180, 180 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 354</desc>
<a>
LINESTRING (20 180, 100 100, 20 20, 20 180)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 355</desc>
<a>
LINESTRING (100 20, 100 180, 180 100, 100 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 356</desc>
<a>
LINESTRING (170 20, 20 170, 170 170, 170 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 357</desc>
<a>
LINESTRING (40 150, 150 150, 90 210, 40 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 358</desc>
<a>
LINESTRING (20 150, 170 150, 90 230, 20 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 359</desc>
<a>
LINESTRING (40 150, 150 150, 150 40, 20 40, 20 150, 40 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 360</desc>
<a>
LINESTRING (110 110, 200 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 361</desc>
<a>
LINESTRING (200 20, 20 200, 200 200, 110 110, 110 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 362</desc>
<a>
LINESTRING (200 20, 20 200, 200 200, 20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 363</desc>
<a>
LINESTRING (110 110, 20 110, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 364</desc>
<a>
LINESTRING (110 110, 200 200, 110 200, 200 110, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 365</desc>
<a>
LINESTRING (20 120, 120 120, 20 20, 120 20, 20 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 366</desc>
<a>
LINESTRING (170 100, 70 100, 170 170, 70 170, 170 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 367</desc>
<a>
LINESTRING (20 110, 110 110, 20 20, 110 20, 20 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 368</desc>
<a>
LINESTRING (110 160, 70 110, 60 160, 20 130, 110 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 369</desc>
<a>
LINESTRING (20 200, 200 200, 20 20, 200 20, 20 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 370</desc>
<a>
LINESTRING (20 110, 200 110, 200 160, 20 60, 20 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 371</desc>
<a>
LINESTRING (200 200, 110 110, 200 110, 110 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 372</desc>
<a>
LINESTRING (220 120, 120 20, 220 20, 120 120, 220 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 373</desc>
<a>
MULTILINESTRING ((70 20, 20 90, 70 170), (70 170, 120 90, 70 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 374</desc>
<a>
MULTILINESTRING ((20 20, 90 20, 170 20), (90 20, 90 80, 90 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 375</desc>
<a>
MULTILINESTRING ((90 140, 90 60, 90 20), (170 20, 130 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 376</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (170 60, 90 20, 20 60), (130 100, 130 60, 90 20, 50 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 377</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (130 140, 130 60, 90 20, 20 90, 90 20, 130 60, 170 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 378</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (170 60, 90 20, 20 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 379</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (170 60, 90 20, 20 60), (130 100, 90 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 380</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (170 60, 90 20, 20 60), (120 100, 170 100, 90 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 381</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (130 140, 130 60, 90 20, 20 90, 90 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 382</desc>
<a>
MULTILINESTRING ((90 20, 170 100, 170 140), (170 60, 90 20, 20 60, 20 140, 90 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 383</desc>
<a>
MULTILINESTRING ((20 20, 90 90, 20 160), (90 160, 90 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 384</desc>
<a>
MULTILINESTRING ((160 160, 90 90, 160 20), (160 120, 120 120, 90 90, 160 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 385</desc>
<a>
MULTILINESTRING ((160 160, 90 90, 160 20), (160 120, 120 120, 90 90, 120 60, 160 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 386</desc>
<a>
MULTILINESTRING ((160 160, 90 90, 160 20), (160 120, 90 90, 160 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 387</desc>
<a>
POINT (20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 388</desc>
<a>
POLYGON ((60 120, 60 40, 160 40, 160 120, 60 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 389</desc>
<a>
POINT (70 170)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 390</desc>
<a>
POLYGON ((110 230, 80 160, 20 160, 20 20, 200 20, 200 160, 140 160, 110 230))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 391</desc>
<a>
POINT (110 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 392</desc>
<a>
POLYGON ((20 160, 80 160, 110 100, 140 160, 200 160, 200 20, 20 20, 20 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 393</desc>
<a>
POINT (100 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 394</desc>
<a>
POLYGON ((20 150, 100 150, 40 50, 170 50, 110 150, 190 150, 190 20, 20 20, 20 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 395</desc>
<a>
POLYGON ((20 150, 100 150, 40 50, 160 50, 100 150, 180 150, 180 20, 20 20, 20 150))
</a>
<test> <op name="isValid" arg1="A"> false </op> </test>
</case>
<case>
<desc>Test 396</desc>
<a>
POINT (60 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 397</desc>
<a>
POINT (110 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 398</desc>
<a>
POINT (160 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 399</desc>
<a>
POINT (100 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 400</desc>
<a>
POINT (100 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 401</desc>
<a>
POINT (60 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 402</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (280 50, 100 50, 190 140, 280 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 403</desc>
<a>
POINT (190 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 404</desc>
<a>
POINT (190 190)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 405</desc>
<a>
POINT (360 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 406</desc>
<a>
POINT (130 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 407</desc>
<a>
POINT (280 50)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 408</desc>
<a>
POINT (150 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 409</desc>
<a>
POINT (100 50)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 410</desc>
<a>
POINT (140 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 411</desc>
<a>
POINT (190 50)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 412</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (90 50, 150 110, 190 50, 90 50), (190 50, 230 110, 290 50, 190 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 413</desc>
<a>
POINT (180 90)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 414</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (180 140, 180 40, 80 40, 180 140), (180 90, 210 140, 310 40, 230 40, 180 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 415</desc>
<a>
MULTIPOINT ((20 80), (110 160), (20 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 416</desc>
<a>
MULTIPOINT ((20 80), (60 120), (20 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 417</desc>
<a>
MULTIPOINT ((10 80), (110 170), (110 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 418</desc>
<a>
MULTIPOINT ((10 80), (110 170), (160 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 419</desc>
<a>
MULTIPOINT ((20 120), (60 120), (110 120), (160 120), (200 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 420</desc>
<a>
MULTIPOINT ((60 120), (110 120), (160 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 421</desc>
<a>
MULTIPOINT ((60 120), (160 120), (160 40), (60 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 422</desc>
<a>
MULTIPOINT ((20 150), (60 120), (110 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 423</desc>
<a>
MULTIPOINT ((110 80), (160 120), (200 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 424</desc>
<a>
MULTIPOINT ((110 80), (110 120), (110 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 425</desc>
<a>
MULTIPOINT ((110 170), (110 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 426</desc>
<a>
MULTIPOINT ((60 120), (160 120), (110 80), (110 170))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 427</desc>
<a>
MULTIPOINT ((90 80), (130 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 428</desc>
<a>
MULTIPOINT ((60 120), (160 120), (110 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 429</desc>
<a>
MULTIPOINT ((40 170), (40 90), (130 170))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 430</desc>
<a>
MULTIPOINT ((90 170), (280 170), (190 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 431</desc>
<a>
MULTIPOINT ((190 110), (150 70), (230 70))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 432</desc>
<a>
POINT (100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 433</desc>
<a>
MULTIPOLYGON (((20 100, 20 20, 100 20, 100 100, 20 100)), ((100 180, 100 100, 180 100, 180 180, 100 180)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 434</desc>
<a>
POINT (20 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 435</desc>
<a>
POINT (60 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 436</desc>
<a>
POINT (110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 437</desc>
<a>
MULTIPOLYGON (((110 110, 20 200, 200 200, 110 110), (110 110, 80 180, 140 180, 110 110)), ((110 110, 20 20, 200 20, 110 110), (110 110, 80 40, 140 40, 110 110)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 438</desc>
<a>
POINT (110 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 439</desc>
<a>
LINESTRING (90 80, 160 150, 300 150, 340 150, 340 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 440</desc>
<a>
POINT (90 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 441</desc>
<a>
POINT (340 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 442</desc>
<a>
POINT (230 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 443</desc>
<a>
POINT (160 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 444</desc>
<a>
POINT (90 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 445</desc>
<a>
LINESTRING (150 150, 20 20, 280 20, 150 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 446</desc>
<a>
POINT (150 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 447</desc>
<a>
POINT (150 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 448</desc>
<a>
POINT (100 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 449</desc>
<a>
POINT (220 220)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 450</desc>
<a>
LINESTRING (110 110, 220 20, 20 20, 110 110, 220 220)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 451</desc>
<a>
LINESTRING (110 110, 220 20, 20 20, 220 220)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 452</desc>
<a>
POINT (110 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 453</desc>
<a>
POINT (220 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 454</desc>
<a>
LINESTRING (220 220, 20 20, 220 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 455</desc>
<a>
POINT (20 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 456</desc>
<a>
LINESTRING (20 200, 20 20, 110 20, 20 110, 110 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 457</desc>
<a>
POINT (20 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 458</desc>
<a>
LINESTRING (20 200, 200 20, 20 20, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 459</desc>
<a>
LINESTRING (20 200, 200 20, 140 20, 140 80, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 460</desc>
<a>
POINT (80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 461</desc>
<a>
LINESTRING (20 200, 110 110, 200 20, 140 20, 140 80, 110 110, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 462</desc>
<a>
LINESTRING (20 200, 200 20, 140 20, 140 80, 110 110, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 463</desc>
<a>
LINESTRING (20 200, 110 110, 200 20, 20 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 464</desc>
<a>
LINESTRING (20 200, 200 20, 20 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 465</desc>
<a>
LINESTRING (20 200, 110 110, 20 20, 200 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 466</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 110 110, 200 20, 140 20, 140 80, 110 110, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 467</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 200 20, 140 20, 140 80, 110 110, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 468</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 200 20, 140 20, 140 80, 80 140, 20 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 469</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 110 110, 200 20, 20 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 470</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 200 20, 20 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 471</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 200 20, 20 20, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 472</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 110 110, 20 20, 200 20, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 473</desc>
<a>
LINESTRING (110 110, 110 200, 20 200, 200 20, 200 110, 110 110, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 474</desc>
<a>
LINESTRING (200 200, 110 110, 20 20, 200 20, 110 110, 20 200, 110 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 475</desc>
<a>
LINESTRING (200 200, 20 20, 200 20, 20 200, 110 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 476</desc>
<a>
LINESTRING (200 200, 110 110, 200 20, 20 20, 110 110, 20 200, 110 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 477</desc>
<a>
LINESTRING (200 200, 20 20, 20 110, 110 110, 20 200, 110 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 478</desc>
<a>
POINT (110 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 479</desc>
<a>
LINESTRING (110 160, 200 250, 110 250, 110 160, 110 110, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 480</desc>
<a>
LINESTRING (110 160, 200 250, 110 250, 110 110, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 481</desc>
<a>
LINESTRING (110 160, 200 250, 110 250, 110 160, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 482</desc>
<a>
LINESTRING (110 110, 200 200, 110 200, 110 110, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 483</desc>
<a>
LINESTRING (110 110, 200 200, 110 200, 110 20, 20 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 484</desc>
<a>
POINT (140 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 485</desc>
<a>
LINESTRING (110 110, 200 200, 110 200, 110 110, 110 20, 200 20, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 486</desc>
<a>
POINT (90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 487</desc>
<a>
LINESTRING (90 130, 20 130, 20 200, 90 130, 200 20, 20 20, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 488</desc>
<a>
LINESTRING (90 130, 20 130, 20 200, 200 20, 20 20, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 489</desc>
<a>
LINESTRING (200 200, 20 20, 200 20, 90 130, 20 200, 20 130, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 490</desc>
<a>
LINESTRING (110 110, 20 130, 20 200, 110 110, 200 20, 20 20, 110 110, 200 200, 200 130, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 491</desc>
<a>
LINESTRING (110 110, 20 130, 20 200, 200 20, 20 20, 200 200, 200 130, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 492</desc>
<a>
LINESTRING (110 110, 80 200, 20 200, 110 110, 200 20, 20 20, 110 110, 200 200, 140 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 493</desc>
<a>
LINESTRING (110 110, 80 200, 20 200, 200 20, 20 20, 200 200, 140 200, 110 110)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 494</desc>
<a>
LINESTRING (200 200, 20 20, 200 20, 20 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 495</desc>
<a>
LINESTRING (200 200, 110 110, 20 20, 200 20, 110 110, 20 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 496</desc>
<a>
LINESTRING (200 200, 110 110, 200 20, 20 20, 110 110, 20 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 497</desc>
<a>
LINESTRING (90 130, 20 130, 20 200, 90 130, 110 110, 200 20, 20 20, 110 110, 200 200, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 498</desc>
<a>
LINESTRING (90 130, 20 130, 20 200, 110 110, 200 20, 20 20, 110 110, 200 200, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 499</desc>
<a>
LINESTRING (90 130, 90 200, 20 200, 90 130, 110 110, 200 20, 20 20, 110 110, 200 200, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 500</desc>
<a>
LINESTRING (90 130, 90 200, 20 200, 200 20, 20 20, 200 200, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 501</desc>
<a>
LINESTRING (90 130, 90 200, 20 200, 110 110, 200 20, 20 20, 110 110, 200 200, 90 130)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 502</desc>
<a>
LINESTRING (110 200, 110 110, 20 20, 200 20, 110 110, 110 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 503</desc>
<a>
POINT (110 150)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 504</desc>
<a>
LINESTRING (110 200, 110 110, 20 20, 200 20, 110 110, 110 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 505</desc>
<a>
LINESTRING (20 200, 110 200, 110 110, 20 20, 200 20, 110 110, 110 200, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 506</desc>
<a>
MULTIPOINT ((50 250), (90 220), (130 190))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 507</desc>
<a>
MULTIPOINT ((180 180), (230 130), (280 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 508</desc>
<a>
MULTIPOINT ((50 120), (90 80), (130 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 509</desc>
<a>
MULTIPOINT ((300 280), (340 240), (380 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 510</desc>
<a>
MULTIPOINT ((230 150), (260 120), (290 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 511</desc>
<a>
MULTIPOINT ((200 190), (240 150), (270 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 512</desc>
<a>
MULTIPOINT ((160 150), (190 120), (220 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 513</desc>
<a>
MULTIPOINT ((120 190), (160 150), (200 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 514</desc>
<a>
MULTIPOINT ((90 80), (160 150), (340 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 515</desc>
<a>
MULTIPOINT ((90 80), (160 150), (300 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 516</desc>
<a>
MULTIPOINT ((90 80), (160 150), (240 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 517</desc>
<a>
MULTIPOINT ((90 80), (130 120), (210 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 518</desc>
<a>
MULTIPOINT ((130 120), (210 150), (340 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 519</desc>
<a>
MULTIPOINT ((160 150), (240 150), (340 210))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 520</desc>
<a>
MULTIPOINT ((160 150), (300 150), (340 150))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 521</desc>
<a>
MULTIPOINT ((160 150), (240 150), (340 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 522</desc>
<a>
POINT (40 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 523</desc>
<a>
POINT (40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 524</desc>
<a>
MULTIPOINT ((20 20), (80 80), (20 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 525</desc>
<a>
MULTIPOINT ((40 40), (80 60), (120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 526</desc>
<a>
MULTIPOINT ((40 40), (120 100), (80 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 527</desc>
<a>
MULTIPOINT ((40 40), (60 100), (100 60), (120 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 528</desc>
<a>
MULTIPOINT ((20 120), (60 60), (100 100), (140 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 529</desc>
<a>
MULTIPOINT ((20 20), (80 70), (140 120), (200 170))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 530</desc>
<a>
MULTIPOINT ((20 20), (140 120), (80 70), (200 170))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 531</desc>
<a>
MULTIPOINT ((80 70), (20 20), (200 170), (140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 532</desc>
<a>
MULTIPOINT ((80 70), (140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 533</desc>
<a>
MULTIPOINT ((140 120), (80 70))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 534</desc>
<a>
MULTIPOINT ((80 170), (140 120), (200 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 535</desc>
<a>
MULTIPOINT ((80 170), (140 120), (200 80), (80 70))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 536</desc>
<a>
POINT (10 10)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 537</desc>
<a>
MULTIPOINT ((10 10), (20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 538</desc>
<a>
LINESTRING (10 10, 20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 539</desc>
<a>
LINESTRING (10 10, 20 20, 20 10, 10 10)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 540</desc>
<a>
LINESTRING (40 40, 100 100, 180 100, 180 180, 100 180, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 541</desc>
<a>
MULTILINESTRING ((10 10, 20 20), (20 20, 30 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 542</desc>
<a>
MULTILINESTRING ((10 10, 20 20), (20 20, 30 20), (20 20, 30 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 543</desc>
<a>
MULTILINESTRING ((10 10, 20 20), (20 20, 30 20), (20 20, 30 30), (20 20, 30 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 544</desc>
<a>
MULTILINESTRING ((10 10, 20 20), (20 20, 20 30, 30 30, 30 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 545</desc>
<a>
MULTILINESTRING ((10 10, 20 20, 20 30, 30 30, 30 20, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 546</desc>
<a>
POLYGON ((40 60, 420 60, 420 320, 40 320, 40 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 547</desc>
<a>
POLYGON ((40 60, 420 60, 420 320, 40 320, 40 60), (200 140, 160 220, 260 200, 200 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 548</desc>
<a>
MULTIPOINT ((130 240), (130 240), (130 240), (570 240), (570 240), (570 240), (650 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 549</desc>
<a>
POLYGON ((10 10, 100 10, 100 100, 10 100, 10 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 550</desc>
<a>
LINESTRING (30 220, 240 220, 240 220)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 551</desc>
<a>
LINESTRING (110 290, 110 100, 110 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 552</desc>
<a>
LINESTRING (120 230, 120 200, 150 180, 180 220, 160 260, 90 250, 80 190, 140 110, 230 150, 240 230, 180 320, 60 310, 40 160, 140 50, 280 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 553</desc>
<a>
POLYGON ((200 360, 230 210, 100 190, 270 150, 360 10, 320 200, 490 230, 280 240, 200 360), (220 300, 250 200, 150 190, 290 150, 330 70, 310 210, 390 230, 280 230, 220 300))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 554</desc>
<a>
MULTIPOINT ((70 340), (70 50), (430 50), (420 340), (340 120), (390 110), (390 70), (350 100), (350 50), (370 90), (320 80), (360 120), (350 80), (390 90), (420 80), (410 60), (410 100), (370 100), (380 60), (370 80), (380 100), (360 80), (370 80), (380 70), (390 80), (390 70), (410 70), (400 60), (410 60), (410 60), (410 60), (370 70), (410 50), (410 50), (410 50), (410 50), (410 50), (410 50), (410 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 555</desc>
<a>
MULTIPOINT ((140 350), (510 140), (110 140), (250 290), (250 50), (300 370), (450 310), (440 160), (290 280), (220 160), (100 260), (320 230), (200 280), (360 130), (330 210), (380 80), (220 210), (380 310), (260 150), (260 110), (170 130))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 556</desc>
<a>
GEOMETRYCOLLECTION (POINT (110 300), POINT (100 110), POINT (130 210), POINT (150 210), POINT (150 180), POINT (130 170), POINT (140 190), POINT (130 200), LINESTRING (240 50, 210 120, 270 80, 250 140, 330 70, 300 160, 340 130, 340 130), POLYGON ((210 340, 220 260, 150 270, 230 220, 230 140, 270 210, 360 240, 260 250, 260 280, 240 270, 210 340), (230 270, 230 250, 200 250, 240 220, 240 190, 260 220, 290 230, 250 230, 230 270)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 557</desc>
<a>
MULTIPOINT ((50 320), (50 280), (50 230), (50 160), (50 120), (100 120), (160 120), (210 120), (210 180), (210 150), (180 180), (140 180), (140 210), (140 260), (160 180), (140 300), (140 320), (110 320), (80 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 559</desc>
<a>
POLYGON ((50 50, 200 50, 200 200, 50 200, 50 50))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 560</desc>
<a>
POLYGON ((20 20, 20 160, 160 160, 160 20, 20 20), (140 140, 40 140, 40 40, 140 40, 140 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 561</desc>
<a>
POLYGON ((80 100, 220 100, 220 240, 80 240, 80 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 562</desc>
<a>
POLYGON ((20 340, 330 380, 50 40, 20 340))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 563</desc>
<a>
POLYGON ((210 320, 140 270, 0 270, 140 220, 210 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 564</desc>
<a>
POLYGON ((0 0, 110 0, 110 60, 40 60, 180 140, 40 220, 110 260, 0 260, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 565</desc>
<a>
POLYGON ((220 0, 110 0, 110 60, 180 60, 40 140, 180 220, 110 260, 220 260, 220 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 566</desc>
<a>
POLYGON ((0 0, 120 0, 120 50, 50 50, 120 100, 50 150, 120 150, 120 190, 0 190, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 567</desc>
<a>
POLYGON ((230 0, 120 0, 120 50, 190 50, 120 100, 190 150, 120 150, 120 190, 230 190, 230 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 568</desc>
<a>
POLYGON ((0 0, 210 0, 210 230, 0 230, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 569</desc>
<a>
MULTIPOLYGON (((40 20, 0 0, 20 40, 60 60, 40 20)), ((60 90, 60 60, 90 60, 90 90, 60 90)), ((70 120, 90 90, 100 120, 70 120)), ((120 70, 90 90, 120 100, 120 70)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 570</desc>
<a>
POLYGON ((0 0, 340 0, 340 300, 0 300, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 571</desc>
<a>
MULTIPOLYGON (((40 20, 0 0, 20 40, 60 60, 40 20)), ((60 100, 60 60, 100 60, 100 100, 60 100)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 572</desc>
<a>
POLYGON ((0 0, 120 0, 120 120, 0 120, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 573</desc>
<a>
MULTIPOLYGON (((60 20, 0 20, 60 60, 60 20)), ((60 100, 60 60, 100 60, 100 100, 60 100)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 574</desc>
<a>
POLYGON ((160 330, 60 260, 20 150, 60 40, 190 20, 270 130, 260 250, 160 330), (140 240, 80 190, 90 100, 160 70, 210 130, 210 210, 140 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 575</desc>
<a>
POLYGON ((300 330, 190 270, 150 170, 150 110, 250 30, 380 50, 380 250, 300 330), (290 240, 240 200, 240 110, 290 80, 330 170, 290 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 576</desc>
<a>
MULTIPOLYGON (((120 340, 120 200, 140 200, 140 280, 160 280, 160 200, 180 200, 180 280, 200 280, 200 200, 220 200, 220 340, 120 340)), ((360 200, 220 200, 220 180, 300 180, 300 160, 220 160, 220 140, 300 140, 300 120, 220 120, 220 100, 360 100, 360 200)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 577</desc>
<a>
MULTIPOLYGON (((100 220, 100 200, 300 200, 300 220, 100 220)), ((280 180, 280 160, 300 160, 300 180, 280 180)), ((220 140, 220 120, 240 120, 240 140, 220 140)), ((180 220, 160 240, 200 240, 180 220)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 578</desc>
<a>
MULTIPOLYGON (((100 200, 100 180, 120 180, 120 200, 100 200)), ((60 240, 60 140, 220 140, 220 160, 160 160, 160 180, 200 180, 200 200, 160 200, 160 220, 220 220, 220 240, 60 240), (80 220, 80 160, 140 160, 140 220, 80 220)), ((280 220, 240 180, 260 160, 300 200, 280 220)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 579</desc>
<a>
MULTIPOLYGON (((80 220, 80 160, 140 160, 140 220, 80 220), (100 200, 100 180, 120 180, 120 200, 100 200)), ((220 240, 220 220, 160 220, 160 200, 220 200, 220 180, 160 180, 160 160, 220 160, 220 140, 320 140, 320 240, 220 240), (240 220, 240 160, 300 160, 300 220, 240 220)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 580</desc>
<a>
POLYGON ((60 160, 140 160, 140 60, 60 60, 60 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 581</desc>
<a>
POLYGON ((160 160, 100 160, 100 100, 160 100, 160 160), (140 140, 120 140, 120 120, 140 120, 140 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 582</desc>
<a>
POLYGON ((10 10, 100 10, 10 11, 10 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 583</desc>
<a>
POLYGON ((90 0, 200 0, 200 200, 90 200, 90 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 584</desc>
<a>
POLYGON ((100 10, 10 10, 90 11, 90 20, 100 20, 100 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 585</desc>
<a>
POLYGON ((20 20, 0 20, 0 0, 20 0, 20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 586</desc>
<a>
POLYGON ((10 10, 50 10, 50 50, 10 50, 10 31, 49 30, 10 30, 10 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 587</desc>
<a>
POLYGON ((60 40, 40 40, 40 20, 60 20, 60 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 588</desc>
<a>
POLYGON ((10 100, 10 10, 100 10, 100 100, 10 100), (90 90, 11 90, 10 10, 90 11, 90 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 589</desc>
<a>
POLYGON ((0 30, 0 0, 30 0, 30 30, 0 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 590</desc>
<a>
MULTIPOLYGON (((0 0, 100 0, 100 20, 0 20, 0 0)), ((0 40, 0 21, 100 20, 100 40, 0 40)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 591</desc>
<a>
POLYGON ((110 30, 90 30, 90 10, 110 10, 110 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 592</desc>
<a>
POLYGON ((100 10, 0 10, 100 11, 100 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 593</desc>
<a>
POLYGON ((100 10, 0 10, 90 11, 90 20, 100 20, 100 10))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 594</desc>
<a>
POLYGON ((10 30, 10 0, 30 10, 30 30, 10 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 595</desc>
<a>
POLYGON ((10 30, 10 10, 30 10, 30 30, 10 30))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 596</desc>
<a>
POLYGON ((0 0, 200 0, 0 198, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 597</desc>
<a>
POLYGON ((280 60, 139 60, 280 70, 280 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 598</desc>
<a>
POLYGON ((0 0, 140 10, 0 20, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 599</desc>
<a>
POLYGON ((280 0, 139 10, 280 1, 280 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 600</desc>
<a>
MULTIPOLYGON (((1 4, 1 1, 2 1, 2 4, 1 4)), ((3 4, 3 1, 4 1, 4 4, 3 4)), ((5 4, 5 1, 6 1, 6 4, 5 4)), ((7 4, 7 1, 8 1, 8 4, 7 4)), ((9 4, 9 1, 10 1, 10 4, 9 4)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 601</desc>
<a>
POLYGON ((0 2, 11 3, 11 2, 0 2))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 602</desc>
<a>
POLYGON ((20 40, 20 200, 180 200, 180 40, 20 40), (180 120, 120 120, 120 160, 60 120, 120 80, 120 119, 180 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 603</desc>
<a>
POLYGON ((200 160, 160 160, 160 80, 200 80, 200 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 604</desc>
<a>
LINESTRING (160 140, 160 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 605</desc>
<a>
POLYGON ((20 40, 20 200, 180 200, 180 120, 140 120, 180 119, 180 40, 20 40), (140 160, 80 120, 140 80, 140 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 606</desc>
<a>
POLYGON ((200 160, 150 160, 150 80, 200 80, 200 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 607</desc>
<a>
POLYGON ((83 33, 62 402, 68 402, 83 33))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 608</desc>
<a>
POLYGON ((78 39, 574 76, 576 60, 78 39))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 609</desc>
<a>
LINESTRING (240 190, 120 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 610</desc>
<a>
POLYGON ((110 240, 50 80, 240 70, 110 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 611</desc>
<a>
LINESTRING (0 100, 100 100, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 612</desc>
<a>
POLYGON ((30 240, 260 30, 30 30, 30 240), (80 140, 80 80, 140 80, 80 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 613</desc>
<a>
LINESTRING (40 340, 200 250, 120 180, 160 110, 270 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 614</desc>
<a>
MULTIPOLYGON (((60 320, 60 80, 300 80, 60 320), (80 280, 80 100, 260 100, 80 280)), ((120 160, 140 160, 140 140, 120 160)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 615</desc>
<a>
MULTILINESTRING ((100 240, 100 180, 160 180, 160 120, 220 120), (40 360, 40 60, 340 60, 40 360, 40 20), (120 120, 120 140, 100 140, 100 120, 140 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 616</desc>
<a>
MULTIPOLYGON (((60 260, 60 120, 220 120, 220 260, 60 260), (80 240, 80 140, 200 140, 200 240, 80 240)), ((100 220, 100 160, 180 160, 180 220, 100 220), (120 200, 120 180, 160 180, 160 200, 120 200)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 617</desc>
<a>
MULTILINESTRING ((40 260, 240 260, 240 240, 40 240, 40 220, 240 220), (120 300, 120 80, 140 80, 140 300, 140 80, 120 80, 120 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 618</desc>
<a>
MULTIPOLYGON (((60 320, 60 120, 280 120, 280 320, 60 320), (120 260, 120 180, 240 180, 240 260, 120 260)), ((280 400, 320 400, 320 360, 280 360, 280 400)), ((300 240, 300 220, 320 220, 320 240, 300 240)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 619</desc>
<a>
MULTILINESTRING ((80 300, 80 160, 260 160, 260 300, 80 300, 80 140), (220 360, 220 240, 300 240, 300 360))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 620</desc>
<a>
MULTIPOLYGON (((120 180, 60 80, 180 80, 120 180)), ((100 240, 140 240, 120 220, 100 240)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 621</desc>
<a>
MULTILINESTRING ((180 260, 120 180, 60 260, 180 260), (60 300, 60 40), (100 100, 140 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 622</desc>
<a>
POLYGON ((95 9, 81 414, 87 414, 95 9))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 623</desc>
<a>
LINESTRING (93 13, 96 13)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 624</desc>
<a>
LINESTRING (0 0, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 625</desc>
<a>
LINESTRING (0 100, 100 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 626</desc>
<a>
LINESTRING (0 0, 100 100, 200 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 627</desc>
<a>
LINESTRING (0 0, 100 100, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 628</desc>
<a>
LINESTRING (40 360, 40 220, 120 360)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 629</desc>
<a>
LINESTRING (120 340, 60 220, 140 220, 140 360)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 630</desc>
<a>
LINESTRING (220 240, 200 220, 60 320, 40 300, 180 200, 160 180, 20 280)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 631</desc>
<a>
LINESTRING (220 240, 140 160, 120 180, 220 280, 200 300, 100 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 632</desc>
<a>
LINESTRING (80 320, 220 320, 220 160, 80 300)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 633</desc>
<a>
LINESTRING (60 200, 60 260, 140 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 634</desc>
<a>
LINESTRING (60 200, 60 140, 140 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 635</desc>
<a>
LINESTRING (180 200, 100 280, 20 200, 100 120, 180 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 636</desc>
<a>
LINESTRING (100 200, 220 200, 220 80, 100 80, 100 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 637</desc>
<a>
LINESTRING (0 10, 620 10, 0 11)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 638</desc>
<a>
LINESTRING (400 60, 400 10)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 639</desc>
<a>
MULTIPOLYGON (((120 320, 180 200, 240 320, 120 320)), ((180 200, 240 80, 300 200, 180 200)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 640</desc>
<a>
MULTIPOINT ((120 320), (180 260), (180 320), (180 200), (300 200), (200 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 641</desc>
<a>
MULTIPOLYGON (((120 80, 420 80, 420 340, 120 340, 120 80), (160 300, 160 120, 380 120, 380 300, 160 300)), ((200 260, 200 160, 340 160, 340 260, 200 260), (240 220, 240 200, 300 200, 300 220, 240 220)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 642</desc>
<a>
MULTIPOINT ((200 360), (420 340), (400 100), (340 120), (200 140), (200 160), (220 180), (260 200), (200 360), (420 340), (400 100), (340 120), (200 140), (200 160), (220 180), (260 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 643</desc>
<a>
MULTIPOINT ((40 90), (20 20), (70 70))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 644</desc>
<a>
LINESTRING (20 20, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 645</desc>
<a>
LINESTRING (20 20, 110 110, 170 50, 130 10, 70 70)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 646</desc>
<a>
MULTILINESTRING ((100 320, 100 220), (100 180, 200 180), (220 180, 220 320), (220 320, 160 320), (100 320, 100 220), (100 180, 200 180), (220 180, 220 320), (220 320, 160 320), (100 220, 100 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 647</desc>
<a>
MULTIPOINT ((100 320), (100 260), (100 220), (100 200), (100 180), (120 180), (200 180), (220 180), (220 260), (220 320), (200 320), (160 320), (140 320), (120 320), (100 320), (100 260), (100 220), (100 200), (100 180), (120 180), (200 180), (220 180), (220 260), (220 320), (200 320), (160 320), (140 320), (120 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 648</desc>
<a>
MULTILINESTRING ((-500 -140, -500 -280, -320 -280, -320 -140, -500 -140, -500 -340), (-500 -140, -320 -140, -500 -140, -320 -140, -500 -140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 649</desc>
<a>
MULTIPOINT ((-560 -180), (-420 -180), (-500 -220), (-500 -340), (-500 -280), (-500 -140), (-320 -140), (-420 -140), (-320 -180), (-280 -140), (-320 -120), (-560 -180), (-420 -180), (-500 -220), (-500 -340), (-500 -280), (-500 -140), (-320 -140), (-420 -140), (-320 -180), (-280 -140), (-320 -120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 650</desc>
<a>
MULTILINESTRING ((180 100, 140 280, 240 140, 220 120, 140 280), (140 280, 100 400, 80 380, 140 280, 40 380, 20 360, 140 280))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 651</desc>
<a>
POINT (200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 652</desc>
<a>
MULTIPOINT ((100 100), (200 200))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 653</desc>
<a>
MULTIPOINT ((100 100), (200 200), (300 300), (500 500))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 654</desc>
<a>
MULTIPOINT ((100 100), (200 200), (400 400), (600 600))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 655</desc>
<a>
POINT (80 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 656</desc>
<a>
POINT (260 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 657</desc>
<a>
POINT (60 260)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 658</desc>
<a>
POINT (120 260)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 659</desc>
<a>
POINT (80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 660</desc>
<a>
POINT (80 280)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 661</desc>
<a>
POLYGON ((0 0, 140 0, 140 140, 0 140, 0 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 662</desc>
<a>
POLYGON ((140 0, 0 0, 0 140, 140 140, 140 0))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 663</desc>
<a>
POLYGON ((40 60, 360 60, 360 300, 40 300, 40 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 664</desc>
<a>
POLYGON ((120 100, 280 100, 280 240, 120 240, 120 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 665</desc>
<a>
POLYGON ((80 100, 360 100, 360 280, 80 280, 80 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 666</desc>
<a>
POLYGON ((0 280, 0 0, 260 0, 260 280, 0 280), (220 240, 40 240, 40 40, 220 40, 220 240))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 667</desc>
<a>
POLYGON ((20 260, 240 260, 240 20, 20 20, 20 260), (160 180, 80 180, 120 120, 160 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 668</desc>
<a>
POLYGON ((60 80, 200 80, 200 220, 60 220, 60 80))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 669</desc>
<a>
POLYGON ((120 140, 260 140, 260 260, 120 260, 120 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 670</desc>
<a>
POLYGON ((60 220, 220 220, 140 140, 60 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 671</desc>
<a>
POLYGON ((100 180, 180 180, 180 100, 100 100, 100 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 672</desc>
<a>
POLYGON ((40 40, 180 40, 180 180, 40 180, 40 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 673</desc>
<a>
POLYGON ((180 40, 40 180, 160 280, 300 140, 180 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 674</desc>
<a>
POLYGON ((40 280, 200 280, 200 100, 40 100, 40 280), (100 220, 120 220, 120 200, 100 180, 100 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 675</desc>
<a>
POLYGON ((40 280, 180 260, 180 120, 60 120, 40 280))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 676</desc>
<a>
POLYGON ((0 200, 0 0, 200 0, 200 200, 0 200), (20 180, 130 180, 130 30, 20 30, 20 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 677</desc>
<a>
POLYGON ((60 90, 130 90, 130 30, 60 30, 60 90))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 678</desc>
<a>
LINESTRING (100 120, 100 240)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 679</desc>
<a>
POLYGON ((40 60, 160 60, 160 180, 40 180, 40 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 680</desc>
<a>
LINESTRING (80 80, 140 140, 200 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 681</desc>
<a>
POLYGON ((40 40, 140 40, 140 140, 40 140, 40 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 682</desc>
<a>
POLYGON ((190 190, 360 20, 20 20, 190 190), (111 110, 250 100, 140 30, 111 110))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 683</desc>
<a>
POLYGON ((20 200, 20 20, 240 20, 240 200, 20 200), (130 110, 60 40, 60 180, 130 110), (130 180, 131 40, 200 110, 130 180))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 684</desc>
<a>
LINESTRING (100 140, 100 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 685</desc>
<a>
MULTIPOLYGON (((20 80, 180 79, 100 0, 20 80)), ((20 160, 180 160, 100 80, 20 160)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 686</desc>
<a>
MULTIPOLYGON (((20 80, 180 80, 100 0, 20 80)), ((20 160, 180 160, 100 80, 20 160)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 687</desc>
<a>
LINESTRING (60 0, 20 80, 100 80, 80 120, 40 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 688</desc>
<a>
LINESTRING (140 300, 220 160, 260 200, 240 260)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 689</desc>
<a>
LINESTRING (60 40, 140 40, 140 160, 0 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 690</desc>
<a>
LINESTRING (140 280, 240 280, 240 180, 140 180, 140 280)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 691</desc>
<a>
LINESTRING (140 0, 0 0, 40 60, 0 120, 60 200, 220 160, 220 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 692</desc>
<a>
LINESTRING (80 140, 180 100, 160 40, 100 40, 60 100, 80 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 693</desc>
<a>
LINESTRING (20 20, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 694</desc>
<a>
LINESTRING (40 40, 160 160, 200 60, 60 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 695</desc>
<a>
LINESTRING (40 40, 200 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 696</desc>
<a>
LINESTRING (200 40, 140 40, 40 40)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 697</desc>
<a>
LINESTRING (0 0, 110 0, 60 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 698</desc>
<a>
LINESTRING (0 0, 110 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 699</desc>
<a>
LINESTRING (0 0, 80 0, 80 60, 80 0, 170 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 700</desc>
<a>
MULTILINESTRING ((0 0, 170 0), (80 0, 80 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 701</desc>
<a>
LINESTRING (80 100, 180 200)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 702</desc>
<a>
LINESTRING (80 180, 180 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 703</desc>
<a>
LINESTRING (40 40, 100 100, 160 160)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 704</desc>
<a>
LINESTRING (160 60, 100 100, 60 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 705</desc>
<a>
LINESTRING (140 60, 60 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 706</desc>
<a>
LINESTRING (40 40, 180 180, 100 180, 100 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 707</desc>
<a>
LINESTRING (80 90, 50 50, 0 0)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 708</desc>
<a>
LINESTRING (40 140, 240 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 709</desc>
<a>
LINESTRING (40 140, 100 140, 80 80, 120 60, 100 140, 160 140, 160 100, 200 100, 160 140, 240 140)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 710</desc>
<a>
LINESTRING (20 20, 100 20, 20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 711</desc>
<a>
LINESTRING (60 20, 200 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 712</desc>
<a>
LINESTRING (40 60, 180 60, 180 140, 100 140, 100 60, 220 60, 220 180, 80 180, 80 60, 280 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 713</desc>
<a>
LINESTRING (140 60, 180 60, 220 60, 260 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 714</desc>
<a>
MULTIPOINT ((0 20), (40 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 715</desc>
<a>
POLYGON ((20 40, 20 0, 60 0, 60 40, 20 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 716</desc>
<a>
MULTIPOINT ((0 20), (20 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 717</desc>
<a>
MULTIPOINT ((20 20), (40 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 718</desc>
<a>
MULTIPOINT ((80 260), (140 260), (180 260))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 719</desc>
<a>
POLYGON ((40 320, 140 320, 140 200, 40 200, 40 320))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 720</desc>
<a>
MULTIPOLYGON (((0 40, 0 0, 40 0, 40 40, 0 40)), ((40 80, 40 40, 80 40, 80 80, 40 80)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 721</desc>
<a>
LINESTRING (40 40, 120 120, 200 120)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 722</desc>
<a>
LINESTRING (40 40, 100 100, 160 100)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 723</desc>
<a>
POINT (60 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 724</desc>
<a>
MULTIPOINT ((40 40), (100 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 725</desc>
<a>
LINESTRING (40 40, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 726</desc>
<a>
MULTIPOINT ((40 40), (60 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 727</desc>
<a>
MULTIPOINT ((60 60), (100 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 728</desc>
<a>
LINESTRING (40 40, 60 60, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 729</desc>
<a>
POINT (20 30)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 730</desc>
<a>
MULTIPOINT ((40 40), (80 60), (40 100))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 731</desc>
<a>
MULTIPOINT ((80 280), (80 220), (160 220), (80 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 732</desc>
<a>
MULTIPOINT ((80 280), (80 220), (160 220))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 733</desc>
<a>
MULTIPOINT EMPTY
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 734</desc>
<a>
LINESTRING (20 60, 160 60, 80 160, 80 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 735</desc>
<a>
LINESTRING (20 80, 80 20, 80 80, 140 60, 80 20, 160 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 736</desc>
<a>
LINESTRING (20 60, 100 60, 60 100, 60 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 737</desc>
<a>
LINESTRING (20 60, 60 60, 100 60, 60 100, 60 60)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 738</desc>
<a>
LINESTRING (20 20, 80 20, 80 80, 20 20)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 739</desc>
<a>
LINESTRING (80 80, 20 20, 20 80, 140 80, 140 140, 80 80)
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 740</desc>
<a>
LINESTRING EMPTY
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 741</desc>
<a>
MULTILINESTRING ((40 140, 160 40), (160 140, 40 40))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 742</desc>
<a>
MULTILINESTRING ((20 160, 20 20), (100 160, 100 20))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 743</desc>
<a>
MULTILINESTRING ((60 140, 20 80, 60 40), (60 40, 100 80, 60 140))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 744</desc>
<a>
MULTILINESTRING ((60 40, 140 40, 100 120, 100 0), (100 200, 200 120))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 745</desc>
<a>
MULTILINESTRING ((40 120, 100 60), (160 120, 100 60), (40 60, 160 60))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 746</desc>
<a>
MULTILINESTRING ((80 160, 40 220, 40 100, 80 160), (80 160, 120 220, 120 100, 80 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 747</desc>
<a>
MULTILINESTRING ((80 160, 40 220), (80 160, 120 220, 120 100, 80 160), (40 100, 80 160))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 748</desc>
<a>
POLYGON ((180 260, 80 300, 40 180, 160 120, 180 260))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 749</desc>
<a>
POLYGON EMPTY
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 750</desc>
<a>
MULTIPOLYGON (((240 160, 140 220, 80 60, 220 40, 240 160)), ((160 380, 100 240, 20 380, 160 380), (120 340, 60 360, 80 320, 120 340)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
<case>
<desc>Test 751</desc>
<a>
MULTIPOLYGON (((240 160, 100 240, 80 60, 220 40, 240 160)), ((160 380, 100 240, 20 380, 160 380), (120 340, 60 360, 80 320, 120 340)))
</a>
<test> <op name="isValid" arg1="A"> true </op> </test>
</case>
</run>