<run>

<case>
  <desc>PL - disjoint</desc>
  <a>
    POINT(60 120)
  </a>
  <b>
    LINESTRING(40 40, 120 120, 200 120)
  </b>
<test>
  <op name="relate" arg3="FF0FFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>PL - touches Bdy</desc>
  <a>
    POINT(40 40)
  </a>
  <b>
    LINESTRING(40 40, 100 100, 160 100)
  </b>
<test>
  <op name="relate" arg3="F0FFFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>PL - touches non-vertex</desc>
  <a>
    POINT(60 60)
  </a>
  <b>
    LINESTRING(40 40, 100 100)
  </b>
<test>
  <op name="relate" arg3="0FFFFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>mPL - touches Bdy and Ext</desc>
  <a>
    MULTIPOINT((40 40), (100 40))
  </a>
  <b>
    LINESTRING(40 40, 80 80)
  </b>
<test>
  <op name="relate" arg3="F00FFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>mPL - touches Int and Bdy</desc>
  <a>
    MULTIPOINT((40 40), (60 60))
  </a>
  <b>
    LINESTRING(40 40, 80 80)
  </b>
<test>
  <op name="relate" arg3="00FFFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>mPL - touches Int and Ext</desc>
  <a>
    MULTIPOINT((60 60), (100 100))
  </a>
  <b>
    LINESTRING(40 40, 80 80)
  </b>
<test>
  <op name="relate" arg3="0F0FFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>mPL - touches IntNV and Ext</desc>
  <a>
    MULTIPOINT((60 60), (100 100))
  </a>
  <b>
    LINESTRING(40 40, 80 80)
  </b>
<test>
  <op name="relate" arg3="0F0FFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

<case>
  <desc>mPL - touches IntV and Ext</desc>
  <a>
    MULTIPOINT((60 60), (100 100))
  </a>
  <b>
    LINESTRING(40 40, 60 60, 80 80)
  </b>
<test>
  <op name="relate" arg3="0F0FFF102" arg1="A" arg2="B">
    true
  </op>
</test>
</case>

</run>
