code: def test_bad_args(self):
      # even numtaps
      assert_raises(ValueError, firls, 10, [0.1, 0.2], [0, 0])
      # odd bands
      assert_raises(ValueError, firls, 11, [0.1, 0.2, 0.4], [0, 0, 0])
      # len(bands) != len(desired)
      assert_raises(
          ValueError, firls, 11, [0.1, 0.2, 0.3, 0.4], [0, 0, 0]
      )
      # non-monotonic bands
      assert_raises(ValueError, firls, 11, [0.2, 0.1], [0, 0])
      assert_raises(
          ValueError, firls, 11, [0.1, 0.2, 0.3, 0.3], [0] * 4
      )
      assert_raises(
          ValueError, firls, 11, [0.3, 0.4, 0.1, 0.2], [0] * 4
      )
      assert_raises(
          ValueError, firls, 11, [0.1, 0.3, 0.2, 0.4], [0] * 4
      )
      # negative desired
      assert_raises(ValueError, firls, 11, [0.1, 0.2], [-1, 1])
      # len(weight) != len(pairs)
      assert_raises(
          ValueError, firls, 11, [0.1, 0.2], [0, 0], weight=[1, 2]
      )
      # negative weight
      assert_raises(
          ValueError, firls, 11, [0.1, 0.2], [0, 0], weight=[-1]
      )
  
imports: import numpy
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_equal, assert_, assert_allclose, assert_warns
  from pytest import raises
  import pytest
  from scipy.fft import fft
  from scipy.special import sinc
  from scipy.signal import kaiser_beta, kaiser_atten, kaiserord, firwin, firwin2, freqz, remez, firls, minimum_phase
label_desc: Use image node_id 1 for calling the TestFirls obj's underlying member method code with example usage: obj.test_bad_args() without return types