code: def testAtlasGeneratorDifferentImageSizes(self):
      # Should raise error if converted images are different sizes.
      atlas_settings = montage.SpriteAtlasSettings(img_format="png")
      source_images_with_statuses = [
          (Image.new("RGBA", (50, 30)), ""),
          (Image.new("RGBA", (50, 30)), ""),
          (Image.new("RGBA", (50, 30)), ""),
          (Image.new("RGBA", (50, 10)), ""),
      ]
      source_paths = [
          "/some/path/file" + str(i) + ".jpg" for i in range(0, 4)
      ]
  
      with self.assertRaises(ValueError):
          montage.SpriteAtlasGenerator(
              images_with_statuses=source_images_with_statuses,
              img_src_paths=source_paths,
              atlas_settings=atlas_settings,
              default_img=Image.new("RGBA", (50, 30)),
          )
  
file_path: facets/facets_atlasmaker/montage_test.py
imports: from absl.testing import absltest
  from PIL import Image
  from PIL import ImageColor
  import montage
label_desc: Use image node_id 3 for calling the SpriteAtlasGeneratorTests obj's underlying member method code with example usage: obj.testAtlasGeneratorDifferentImageSizes() without return types