 <p>The idea behind this assert is to check if first row after added ones was correctly moved. If there are some rows after inserted ones, then their data are compared. If there aren't any, your model should both in the line</p> <pre><code>c.next = model-&gt;data ( model-&gt;index ( start, 0, parent ) ); </code></pre> <p>and in</p> <pre><code>Q_ASSERT ( c.next == model-&gt;data ( model-&gt;index ( end + 1, 0, c.parent ) ) ); </code></pre> <p>should return invalid (empty) QVariant. If both return empty QVariant (as they should) assertion succedes, thus providing some level of error-checking even in case of no rows after currently inserted.</p>