/**
  * Tests the delete function.
  */
 public function test_delete()
 {
     global $DB;
     $this->resetAfterTest();
     $course = $this->getDataGenerator()->create_course();
     // Create 2 documents.
     $doc1 = new local_ousearch_document();
     $doc1->init_module_instance('frog', (object) array('id' => 13, 'course' => $course->id));
     $doc1->update('Document title 1', 'Document text 1');
     $doc2 = new local_ousearch_document();
     $doc2->init_module_instance('frog', (object) array('id' => 14, 'course' => $course->id));
     $doc2->update('Document title 2', 'Document text 2');
     // Check table counts.
     $this->assertEquals(2, $DB->count_records('local_ousearch_documents'));
     $this->assertEquals(5, $DB->count_records('local_ousearch_words'));
     $this->assertEquals(8, $DB->count_records('local_ousearch_occurrences'));
     // Delete second document.
     $doc2->delete();
     // Only one document left.
     $this->assertEquals(1, $DB->count_records('local_ousearch_documents'));
     // No removed words - system never removes words.
     $this->assertEquals(5, $DB->count_records('local_ousearch_words'));
     // Half the occurrences removed.
     $this->assertEquals(4, $DB->count_records('local_ousearch_occurrences'));
 }