class_docstr: Tests that the template defines the correct decomposition.
docstr: Test that correct sequence of custom ranges are used in the circuit.
docstr_tok: ["Test","that","correct","sequence","of","custom","ranges","are","used","in","the","circuit","."]
code: def test_custom_range_sequence(self, n_layers, n_wires, ranges):
      """Test that correct sequence of custom ranges are used in the circuit."""
  
      weights = np.random.randn(n_layers, n_wires, 3)
  
      op = qml.StronglyEntanglingLayers(
          weights=weights, wires=range(n_wires), ranges=ranges
      )
      ops = op.expand().operations
  
      gate_wires = [gate.wires.labels for gate in ops]
      range_idx = 0
      for idx, i in enumerate(gate_wires):
          if idx % (n_wires * 2) // n_wires == 1:
              expected_wire = (
                  idx % n_wires,
                  (ranges[range_idx % len(ranges)] + idx % n_wires)
                  % n_wires,
              )
              assert i == expected_wire
              if idx % n_wires == n_wires - 1:
                  range_idx += 1
  
imports: import pytest
  import numpy
  import pennylane
  from pennylane import numpy
label_desc: Use image node_id 4 for calling the TestDecomposition obj's underlying member method code with example usage: obj.test_custom_range_sequence(n_layers, n_wires, ranges) without return types