code: def test_slippage_and_commission_dispatching(self):
      blotter = Blotter(
          self.sim_params.data_frequency,
          equity_slippage=FixedSlippage(spread=0.0),
          # future_slippage=FixedSlippage(spread=2.0),
          equity_commission=PerTrade(cost=1.0),
          # future_commission=PerTrade(cost=2.0),
      )
      blotter.order(self.asset_24, 1, MarketOrder())
      # blotter.order(self.future_cl, 1, MarketOrder())
  
      bar_data = self.create_bardata(
          simulation_dt_func=lambda: self.sim_params.sessions[-1],
      )
      txns, commissions, _ = blotter.get_transactions(bar_data)
  
      # The equity transaction should have the same price as its current
      # price because the slippage spread is zero. Its commission should be
      # $1.00.
      equity_txn = txns[0]
      self.assertEqual(
          equity_txn.price,
          bar_data.current(equity_txn.asset, "price"),
      )
      self.assertEqual(commissions[0]["cost"], 1.0)
  
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 13 for calling the BlotterTestCase obj's underlying member method code with example usage: obj.test_slippage_and_commission_dispatching() without return types