import os

from numpy.testing import assert_array_equal, raises, run_module_suite
import numpy as np

import skimage.io as io
from skimage.io._plugins.plugin import plugin_store
from skimage import data_dir


def test_stack_basic():
    x = np.arange(12).reshape(3, 4)
    io.push(x)

    assert_array_equal(io.pop(), x)


@raises(ValueError)
def test_stack_non_array():
    io.push([[1, 2, 3]])


def test_imread_url():
    # tweak data path so that file URI works on both unix and windows.
    data_path = data_dir.lstrip(os.path.sep)
    data_path = data_path.replace(os.path.sep, '/')
    image_url = 'file:///{0}/camera.png'.format(data_path)
    image = io.imread(image_url)
    assert image.shape == (512, 512)


@raises(RuntimeError)
def test_imread_no_plugin():
    # tweak data path so that file URI works on both unix and windows.
    image_path = os.path.join(data_dir, 'lena.png')
    plugin_store['imread'] = []
    io.imread(image_path)


if __name__ == "__main__":
    run_module_suite()

import os

from numpy.testing import assert_array_equal, raises, run_module_suite
import numpy as np

import skimage.io as io
from skimage.io._plugins.plugin import plugin_store
from skimage import data_dir


def test_stack_basic():
    x = np.arange(12).reshape(3, 4)
    io.push(x)

    assert_array_equal(io.pop(), x)


@raises(ValueError)
def test_stack_non_array():
    io.push([[1, 2, 3]])


def test_imread_url():
    # tweak data path so that file URI works on both unix and windows.
    data_path = data_dir.lstrip(os.path.sep)
    data_path = data_path.replace(os.path.sep, '/')
    image_url = 'file:///{0}/camera.png'.format(data_path)
    image = io.imread(image_url)
    assert image.shape == (512, 512)


@raises(RuntimeError)
def test_imread_no_plugin():
    # tweak data path so that file URI works on both unix and windows.
    image_path = os.path.join(data_dir, 'lena.png')
    plugins = plugin_store['imread']
    plugin_store['imread'] = []
    try:
        io.imread(image_path)
    finally:
        plugin_store['imread'] = plugins


if __name__ == "__main__":
    run_module_suite()

Fix test so it doesn't have side-effects
Fix test so it doesn't have side-effects

  import os
  
  from numpy.testing import assert_array_equal, raises, run_module_suite
  import numpy as np
  
  import skimage.io as io
  from skimage.io._plugins.plugin import plugin_store
  from skimage import data_dir
  
  
  def test_stack_basic():
      x = np.arange(12).reshape(3, 4)
      io.push(x)
  
      assert_array_equal(io.pop(), x)
  
  
  @raises(ValueError)
  def test_stack_non_array():
      io.push([[1, 2, 3]])
  
  
  def test_imread_url():
      # tweak data path so that file URI works on both unix and windows.
      data_path = data_dir.lstrip(os.path.sep)
      data_path = data_path.replace(os.path.sep, '/')
      image_url = 'file:///{0}/camera.png'.format(data_path)
      image = io.imread(image_url)
      assert image.shape == (512, 512)
  
  
  @raises(RuntimeError)
  def test_imread_no_plugin():
      # tweak data path so that file URI works on both unix and windows.
      image_path = os.path.join(data_dir, 'lena.png')
+     plugins = plugin_store['imread']
      plugin_store['imread'] = []
+     try:
-     io.imread(image_path)
+         io.imread(image_path)
+     finally:
+         plugin_store['imread'] = plugins
  
  
  if __name__ == "__main__":
      run_module_suite()
  
Fix test so it doesn't have side-effects
## Code Before:
import os

from numpy.testing import assert_array_equal, raises, run_module_suite
import numpy as np

import skimage.io as io
from skimage.io._plugins.plugin import plugin_store
from skimage import data_dir


def test_stack_basic():
    x = np.arange(12).reshape(3, 4)
    io.push(x)

    assert_array_equal(io.pop(), x)


@raises(ValueError)
def test_stack_non_array():
    io.push([[1, 2, 3]])


def test_imread_url():
    # tweak data path so that file URI works on both unix and windows.
    data_path = data_dir.lstrip(os.path.sep)
    data_path = data_path.replace(os.path.sep, '/')
    image_url = 'file:///{0}/camera.png'.format(data_path)
    image = io.imread(image_url)
    assert image.shape == (512, 512)


@raises(RuntimeError)
def test_imread_no_plugin():
    # tweak data path so that file URI works on both unix and windows.
    image_path = os.path.join(data_dir, 'lena.png')
    plugin_store['imread'] = []
    io.imread(image_path)


if __name__ == "__main__":
    run_module_suite()

## Instruction:
Fix test so it doesn't have side-effects
## Code After:
import os

from numpy.testing import assert_array_equal, raises, run_module_suite
import numpy as np

import skimage.io as io
from skimage.io._plugins.plugin import plugin_store
from skimage import data_dir


def test_stack_basic():
    x = np.arange(12).reshape(3, 4)
    io.push(x)

    assert_array_equal(io.pop(), x)


@raises(ValueError)
def test_stack_non_array():
    io.push([[1, 2, 3]])


def test_imread_url():
    # tweak data path so that file URI works on both unix and windows.
    data_path = data_dir.lstrip(os.path.sep)
    data_path = data_path.replace(os.path.sep, '/')
    image_url = 'file:///{0}/camera.png'.format(data_path)
    image = io.imread(image_url)
    assert image.shape == (512, 512)


@raises(RuntimeError)
def test_imread_no_plugin():
    # tweak data path so that file URI works on both unix and windows.
    image_path = os.path.join(data_dir, 'lena.png')
    plugins = plugin_store['imread']
    plugin_store['imread'] = []
    try:
        io.imread(image_path)
    finally:
        plugin_store['imread'] = plugins


if __name__ == "__main__":
    run_module_suite()
