title: QAbstractItemModel + ModelTest::rowsInserted ASSERTion problem
body: <p>I'm trying to debug my model (QAbstractItemModel) with ModelTest. And I can't understand one assertion.</p>
  
  <p>There are two slots in ModelTest that intercept signals generated by my model.</p>
  
  <ol>
  <li>ModelTest::rowsAboutToBeInserted</li>
  <li>ModelTest::rowsInserted</li>
  </ol>
  
  <p>Slot/function 1 looks like this</p>
  
  <pre><code>void ModelTest::rowsAboutToBeInserted ( const QModelIndex &amp;parent, int start, int end )
  {
      Changing c;
      // ...
      c.last = model-&gt;data ( model-&gt;index ( start - 1, 0, parent ) );
      c.next = model-&gt;data ( model-&gt;index ( start, 0, parent ) );
      insert.push ( c );
  }
  </code></pre>
  
  <p>And slot 2 looks like this</p>
  
  <pre><code>void ModelTest::rowsInserted ( const QModelIndex &amp; parent, int start, int end )
  {
      Changing c = insert.pop();
  
      // other asserts ...
  
      (*) Q_ASSERT ( c.next == model-&gt;data ( model-&gt;index ( end + 1, 0, c.parent ) ) );
  }
  </code></pre>
  
  <p>I don't understand dla last assertion (*). Lets assume that in my app I add 1 row.
  This row is the only row that is stored in my model. So the row number would be 0.</p>
  
  <p>In my model before adding the row I call</p>
  
  <pre><code>beginInsertRows(parentIndex, 0, 0);
  </code></pre>
  
  <p>So why does modeltest require </p>
  
  <blockquote>
    <p>model->data ( model->index ( start, 0, parent ) )</p>
  </blockquote>
  
  <p>to be equal to </p>
  
  <blockquote>
    <p>model->data ( model->index ( end + 1, 0, c.parent ) )</p>
  </blockquote>
  
  <p>What am I missing here ? Please help :)</p>