docstr: dropping records updates tracked buffer size
docstr_tok: ["dropping","records","updates","tracked","buffer","size"]
code: def test_cull_size_drop(self):
      """dropping records updates tracked buffer size"""
      self.db = (
          self.create_db()
      )  # skip the load-records init from setUp
      self.db.size_limit = 1000
      self.db.cull_fraction = 0.2
      self.load_records(100, buffer_size=10)
      assert len(self.db.get_history()) == 100
      self.db.drop_record(self.db.get_history()[-1])
      assert len(self.db.get_history()) == 99
      self.load_records(1, buffer_size=5)
      assert len(self.db.get_history()) == 100
      self.load_records(1, buffer_size=5)
      assert len(self.db.get_history()) == 101
      self.load_records(1, buffer_size=1)
      assert len(self.db.get_history()) == 81
  
imports: import logging
  import os
  import tempfile
  import time
  from datetime import datetime, timedelta
  from unittest import TestCase
  import pytest
  from jupyter_client.session import Session
  from ipyparallel import util
  from ipyparallel.controller.dictdb import DictDB
  from ipyparallel.controller.hub import init_record
  from ipyparallel.controller.sqlitedb import SQLiteDB
  from ipyparallel.util import utc
label_desc: Use image node_id 4 for calling the TestDictBackend obj's underlying member method code with example usage: obj.test_cull_size_drop() without return types