code: def test_prune_orders(self):
      blotter = SimulationBlotter()
  
      blotter.order(self.asset_24, 100, MarketOrder())
      open_order = blotter.open_orders[self.asset_24][0]
  
      blotter.prune_orders([])
      self.assertEqual(1, len(blotter.open_orders[self.asset_24]))
  
      blotter.prune_orders([open_order])
      self.assertEqual(0, len(blotter.open_orders[self.asset_24]))
  
      # prune an order that isn't in our our open orders list, make sure
      # nothing blows up
  
      other_order = Order(
          dt=blotter.current_dt, asset=self.asset_25, amount=1
      )
  
      blotter.prune_orders([other_order])
  
imports: from nose_parameterized import parameterized
  import pandas
  from zipline.assets import Equity
  from zipline.finance.blotter import SimulationBlotter
  from zipline.finance.cancel_policy import EODCancel, NeverCancel
  from zipline.finance.commission import PerTrade
  from zipline.finance.execution import LimitOrder, MarketOrder, StopLimitOrder, StopOrder
  from zipline.finance.order import ORDER_STATUS, Order
  from zipline.finance.slippage import DEFAULT_EQUITY_VOLUME_SLIPPAGE_BAR_LIMIT, FixedSlippage, VolumeShareSlippage
  from zipline.gens.sim_engine import BAR, SESSION_END
  from zipline.testing.fixtures import WithCreateBarData, WithDataPortal, WithLogger, WithSimParams, ZiplineTestCase
  from zipline.utils.classproperty import classproperty
label_desc: Use image node_id 11 for calling the BlotterTestCase obj's underlying member method code with example usage: obj.test_prune_orders() without return types