code: def test_set_texture_properties(self):
      T = Texture((10, 10))
  
      # Interpolation
      T.interpolation = "nearest"
      assert T.interpolation == "nearest"
      T.interpolation = "linear"
      assert T.interpolation == "linear"
      T.interpolation = ["linear"] * 2
      assert T.interpolation == "linear"
      T.interpolation = ["linear", "nearest"]
      assert T.interpolation == ("linear", "nearest")
  
      # Wrong interpolation
      iset = Texture.interpolation.fset
      self.assertRaises(ValueError, iset, T, ["linear"] * 3)
      self.assertRaises(ValueError, iset, T, True)
      self.assertRaises(ValueError, iset, T, [])
      self.assertRaises(ValueError, iset, T, "linearios")
  
      # Wrapping
      T.wrapping = "clamp_to_edge"
      assert T.wrapping == "clamp_to_edge"
      T.wrapping = "repeat"
      assert T.wrapping == "repeat"
      T.wrapping = "mirrored_repeat"
      assert T.wrapping == "mirrored_repeat"
      T.wrapping = "repeat", "repeat"
      assert T.wrapping == "repeat"
      T.wrapping = "repeat", "clamp_to_edge"
      assert T.wrapping == ("repeat", "clamp_to_edge")
  
      # Wrong wrapping
      wset = Texture.wrapping.fset
      self.assertRaises(ValueError, wset, T, ["repeat"] * 3)
      self.assertRaises(ValueError, wset, T, True)
      self.assertRaises(ValueError, wset, T, [])
      self.assertRaises(ValueError, wset, T, "repeatos")
  
imports: import unittest
  import numpy
  import pytest
  from vispy.gloo import Texture1D, Texture2D, Texture3D, TextureAtlas
  from vispy.testing import requires_pyopengl, run_tests_if_main, assert_raises
label_desc: Use image node_id 9 for calling the TextureTest obj's underlying member method code with example usage: obj.test_set_texture_properties() without return types