def test_selected_id_property(self):
        #create some records
        db = CouchDatabase(self.dbname, create=True)
        id1 = db.put_record(
            Record({
                "key1_1": "val1_1",
                "key1_2": "val1_2",
                "key1_3": "val1_3",
                "record_type": self.record_type
            }))
        id2 = db.put_record(
            Record({
                "key1_1": "val2_1",
                "key1_2": "val2_2",
                "key1_3": "val2_3",
                "record_type": self.record_type
            }))

        #build the CouchGrid
        cw = CouchGrid(self.dbname)
        cw.record_type = self.record_type

        #make sure the record ids are selected properly
        cw.selected_record_ids = [id1]
        self.assertEqual(cw.selected_record_ids[0], id1)
        cw.selected_record_ids = [id2]
        self.assertEqual(cw.selected_record_ids[0], id2)
    def test_dont_delete_selected_rows(self):
        #create some records
        db = CouchDatabase(self.dbname, create=True)
        ids = []
        for i in xrange(0, 10):
            ids.append(
                db.put_record(
                    Record({
                        "key1_1": "val1_%s" % str(i),
                        "iter_count": i,
                        "record_type": self.record_type
                    })))

        #build the CouchGrid
        cw = CouchGrid(self.dbname, record_type=self.record_type)
        cw.selected_record_ids = [ids[0], ids[5], ids[9]]
        cw.remove_selected_rows(delete=False)
        cw.selected_record_ids = [ids[1], ids[4], ids[8]]
        cw.remove_selected_rows()
        self.assertEqual(self.db.get_record(ids[0]) is not None, True)
        self.assertEqual(self.db.get_record(ids[5]) is not None, True)
        self.assertEqual(self.db.get_record(ids[9]) is not None, True)

        self.assertEqual(self.db.get_record(ids[1]) is not None, True)
        self.assertEqual(self.db.get_record(ids[2]) is not None, True)
        self.assertEqual(self.db.get_record(ids[3]) is not None, True)
        self.assertEqual(self.db.get_record(ids[4]) is not None, True)
        self.assertEqual(self.db.get_record(ids[6]) is not None, True)
        self.assertEqual(self.db.get_record(ids[7]) is not None, True)
        self.assertEqual(self.db.get_record(ids[8]) is not None, True)