code: def expected_loop_order(
      self, logical_shape, transform_B, after_transform
  ):
      shape = self.make_transformed_shape(logical_shape, transform_B)
  
      if after_transform == "reorder":
          shape = shape[::-1]
  
      elif after_transform == "split":
          shape = [
              *shape[:-1],
              2,
              shape[-1] // 2,
          ]
  
      elif after_transform == "fuse":
          fused_size = (
              shape[0]
              if transform_B == "flatten_all"
              else shape[0] * shape[1]
          )
          shape = [fused_size, *shape[2:]]
  
      return shape
  
imports: import functools
  import sys
  import pytest
  import numpy
  import tvm
  import tvm.testing
  from tvm import te
  from tvm.tir.stmt_functor import post_order_visit
  from tvm.driver.build_module import schedule_to_module
label_desc: Use image node_id 3 for calling the TestTransformedSchedules obj's underlying member method code with example usage: obj.expected_loop_order(logical_shape, transform_B, after_transform) and returns: shape