def test_index_update(self):
        """
        test return and update of unique index
        """
        with test_database(SqliteDatabase(':memory:'), [UniqueIndex]):
            test_object = UniqueIndex.create(idid='file', index=892)
            self.assertEqual(test_object.idid, 'file')

            index, index_range = update_index(10, 'file')
            self.assertEqual(index, 892)
            self.assertEqual(index_range, 10)

            index, index_range = update_index(10, 'file')
            self.assertEqual(index, 902)
            self.assertEqual(index_range, 10)

            index, index_range = update_index(10, 'new')
            self.assertEqual(index, 0)
            self.assertEqual(index_range, 10)

            index, index_range = update_index(10, 'new')
            self.assertEqual(index, 10)
            self.assertEqual(index_range, 10)

            index, index_range = update_index(None, 'new')
            self.assertEqual(index, -1)
            self.assertEqual(index_range, -1)

            index, index_range = update_index(2, None)
            self.assertEqual(index, -1)
            self.assertEqual(index_range, -1)

            index, index_range = update_index(-5, 'new')
            self.assertEqual(index, -1)
            self.assertEqual(index_range, -1)