Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_student_data_update.csv
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_student_data_update.csv	(revision 6848)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_student_data_update.csv	(revision 6848)
@@ -0,0 +1,4 @@
+reg_number,date_of_birth,matric_number
+1,1980-01-02,10
+2,1980-01-03,11
+3,1980-01-04,12
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py	(revision 6847)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py	(revision 6848)
@@ -47,4 +47,18 @@
     '\n')[0].split(',')
 
+STUDENT_SAMPLE_DATA_UPDATE = open(
+    os.path.join(os.path.dirname(__file__), 'sample_student_data_update.csv'),
+    'rb').read()
+
+STUDENT_HEADER_FIELDS_UPDATE = STUDENT_SAMPLE_DATA_UPDATE.split(
+    '\n')[0].split(',')
+
+STUDENT_SAMPLE_DATA = open(
+    os.path.join(os.path.dirname(__file__), 'sample_student_data.csv'),
+    'rb').read()
+
+STUDENT_HEADER_FIELDS = STUDENT_SAMPLE_DATA.split(
+    '\n')[0].split(',')
+
 STUDYCOURSE_SAMPLE_DATA = open(
     os.path.join(os.path.dirname(__file__), 'sample_studycourse_data.csv'),
@@ -85,5 +99,7 @@
         self.workdir = tempfile.mkdtemp()
         self.csv_file = os.path.join(self.workdir, 'sample_student_data.csv')
+        self.csv_file_update = os.path.join(self.workdir, 'sample_student_data_update.csv')
         open(self.csv_file, 'wb').write(STUDENT_SAMPLE_DATA)
+        open(self.csv_file_update, 'wb').write(STUDENT_SAMPLE_DATA_UPDATE)
 
     def tearDown(self):
@@ -106,6 +122,7 @@
     def test_entryExists(self):
         assert self.importer.entryExists(
-            dict(student_id='ID_NONE'), self.app) is False
-        student = dict(student_id=self.student.student_id), self.app)
+            dict(student_id='ID_NONE'), self.app) is None
+        student = self.importer.getEntry(
+            dict(student_id=self.student.student_id), self.app)
         self.assertEqual(student.reg_number, u'123')
 
@@ -130,4 +147,9 @@
         assert self.student.student_id not in self.app['students'].keys()
 
+    def test_delEntry(self):
+        assert self.student.student_id in self.app['students'].keys()
+        self.importer.delEntry(dict(reg_number=self.student.reg_number), self.app)
+        assert self.student.student_id not in self.app['students'].keys()
+
     def test_import(self):
         num, num_warns, fin_file, fail_file = self.importer.doImport(
@@ -135,4 +157,22 @@
         self.assertEqual(num_warns,0)
         assert len(self.app['students'].keys()) == 4
+        shutil.rmtree(os.path.dirname(fin_file))
+
+    def test_import_update(self):
+        num, num_warns, fin_file, fail_file = self.importer.doImport(
+            self.csv_file, STUDENT_HEADER_FIELDS)
+        shutil.rmtree(os.path.dirname(fin_file))
+        num, num_warns, fin_file, fail_file = self.importer.doImport(
+            self.csv_file_update, STUDENT_HEADER_FIELDS_UPDATE, 'update')
+        self.assertEqual(num_warns,0)
+        shutil.rmtree(os.path.dirname(fin_file))
+
+    def test_import_remove(self):
+        num, num_warns, fin_file, fail_file = self.importer.doImport(
+            self.csv_file, STUDENT_HEADER_FIELDS)
+        shutil.rmtree(os.path.dirname(fin_file))
+        num, num_warns, fin_file, fail_file = self.importer.doImport(
+            self.csv_file_update, STUDENT_HEADER_FIELDS_UPDATE, 'remove')
+        self.assertEqual(num_warns,0)
         shutil.rmtree(os.path.dirname(fin_file))
 
@@ -190,5 +230,5 @@
     def test_entryExists(self):
         assert self.importer.entryExists(
-            dict(reg_number='REG_NONE'), self.app) is False
+            dict(reg_number='REG_NONE'), self.app) is None
         student = self.importer.entryExists(dict(reg_number='1'), self.app)
         self.assertEqual(student.reg_number, u'1')
