code: def test_prune_orders(self):
      blotter = Blotter(self.sim_params.data_frequency)
  
      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 catalyst.assets import Equity
  from catalyst.finance.blotter import Blotter
  from catalyst.finance.cancel_policy import EODCancel, NeverCancel
  from catalyst.finance.commission import PerTrade
  from catalyst.finance.execution import LimitOrder, MarketOrder, StopLimitOrder, StopOrder
  from catalyst.finance.order import ORDER_STATUS, Order
  from catalyst.finance.slippage import DEFAULT_EQUITY_VOLUME_SLIPPAGE_BAR_LIMIT, FixedSlippage
  from catalyst.gens.sim_engine import BAR, SESSION_END
  from catalyst.testing.fixtures import WithCreateBarData, WithDataPortal, WithLogger, WithSimParams, CatalystTestCase
  from catalyst.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