docstr: Ensure the effect of order_batch is the same as multiple calls to
  order.
docstr_tok: ["Ensure","the","effect","of","order_batch","is","the","same","as","multiple","calls","to","order","."]
code: def test_batch_order_matches_multiple_orders(self):
      """
      Ensure the effect of order_batch is the same as multiple calls to
      order.
      """
      blotter1 = SimulationBlotter()
      blotter2 = SimulationBlotter()
      for i in range(1, 4):
          order_arg_lists = [
              (self.asset_24, i * 100, MarketOrder()),
              (self.asset_25, i * 100, LimitOrder(i * 100 + 1)),
          ]
  
          order_batch_ids = blotter1.batch_order(order_arg_lists)
          order_ids = []
          for order_args in order_arg_lists:
              order_ids.append(blotter2.order(*order_args))
          self.assertEqual(len(order_batch_ids), len(order_ids))
  
          self.assertEqual(
              len(blotter1.open_orders), len(blotter2.open_orders)
          )
  
          for (asset, _, _), order_batch_id, order_id in zip(
              order_arg_lists, order_batch_ids, order_ids
          ):
              self.assertEqual(
                  len(blotter1.open_orders[asset]),
                  len(blotter2.open_orders[asset]),
              )
              self.assertEqual(
                  order_batch_id, blotter1.open_orders[asset][i - 1].id
              )
              self.assertEqual(
                  order_id, blotter2.open_orders[asset][i - 1].id
              )
  
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 12 for calling the BlotterTestCase obj's underlying member method code with example usage: obj.test_batch_order_matches_multiple_orders() without return types