<run>
<precisionModel type="FLOATING"/>

<case>
<desc>LC - topographically equal with no boundary</desc>
  <a>
    LINESTRING(0 0, 0 50, 50 50, 50 0, 0 0)
  </a>
  <b>
    MULTILINESTRING(
      (0 0, 0 50), 
      (0 50, 50 50), 
      (50 50, 50 0), 
      (50 0, 0 0))
  </b>
  <test>
    <op name="relate" arg1="A" arg2="B" arg3="1FFFFFFF2">true</op>
  </test>
  <test><op name="contains"   arg1="A" arg2="B">true</op></test>
  <test><op name="coveredBy"  arg1="A" arg2="B">true</op></test>
  <test><op name="covers"     arg1="A" arg2="B">true</op></test>
  <test><op name="crosses"    arg1="A" arg2="B">false</op></test>
  <test><op name="disjoint"   arg1="A" arg2="B">false</op></test>
  <test><op name="equalsTopo" arg1="A" arg2="B">true</op></test>
  <test><op name="intersects" arg1="A" arg2="B">true</op></test>
  <test><op name="overlaps"   arg1="A" arg2="B">false</op></test>
  <test><op name="touches"    arg1="A" arg2="B">false</op></test>
  <test><op name="within"     arg1="A" arg2="B">true</op></test>
</case>

<case>
<desc>LC - equal with boundary intersection</desc>
  <a>
    LINESTRING(0 0, 60 0, 60 60, 60 0, 120 0)
  </a>
  <b>
    MULTILINESTRING(
      (0 0, 60 0), 
      (60 0, 120 0), 
      (60 0, 60 60))
  </b>
  <test>
    <op name="relate" arg1="A" arg2="B" arg3="10FF0FFF2">true</op>
  </test>
  <test><op name="contains"   arg1="A" arg2="B">true</op></test>
  <test><op name="coveredBy"  arg1="A" arg2="B">true</op></test>
  <test><op name="covers"     arg1="A" arg2="B">true</op></test>
  <test><op name="crosses"    arg1="A" arg2="B">false</op></test>
  <test><op name="disjoint"   arg1="A" arg2="B">false</op></test>
  <test><op name="equalsTopo" arg1="A" arg2="B">true</op></test>
  <test><op name="intersects" arg1="A" arg2="B">true</op></test>
  <test><op name="overlaps"   arg1="A" arg2="B">false</op></test>
  <test><op name="touches"    arg1="A" arg2="B">false</op></test>
  <test><op name="within"     arg1="A" arg2="B">true</op></test>
</case>

</run>
