from pyshark.capture.capture import Capture


def test_capture_gets_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'


def test_capture_gets_multiple_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http', 'tcp.port==6666': 'dns'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'
    decode_index = params.index('-d', decode_index + 1)
    assert params[decode_index + 1] == 'tcp.port==6666,dns'
from pyshark.capture.capture import Capture


def test_capture_gets_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'


def test_capture_gets_multiple_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http', 'tcp.port==6666': 'dns'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    possible_results = ['tcp.port==8888,http', 'tcp.port==6666,dns']
    assert params[decode_index + 1] in possible_results  
    possible_results.remove(params[decode_index + 1])
    decode_index = params.index('-d', decode_index + 1)
    assert params[decode_index + 1] == possible_results[0] 

Fix tests to avoid dict ordering problem
Fix tests to avoid dict ordering problem

  from pyshark.capture.capture import Capture
  
  
  def test_capture_gets_decoding_parameters():
      c = Capture(decode_as={'tcp.port==8888': 'http'})
      params = c.get_parameters()
      decode_index = params.index('-d')
      assert params[decode_index + 1] == 'tcp.port==8888,http'
  
  
  def test_capture_gets_multiple_decoding_parameters():
      c = Capture(decode_as={'tcp.port==8888': 'http', 'tcp.port==6666': 'dns'})
      params = c.get_parameters()
      decode_index = params.index('-d')
-     assert params[decode_index + 1] == 'tcp.port==8888,http'
+     possible_results = ['tcp.port==8888,http', 'tcp.port==6666,dns']
+     assert params[decode_index + 1] in possible_results  
+     possible_results.remove(params[decode_index + 1])
      decode_index = params.index('-d', decode_index + 1)
-     assert params[decode_index + 1] == 'tcp.port==6666,dns'
+     assert params[decode_index + 1] == possible_results[0] 
+ 
Fix tests to avoid dict ordering problem
## Code Before:
from pyshark.capture.capture import Capture


def test_capture_gets_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'


def test_capture_gets_multiple_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http', 'tcp.port==6666': 'dns'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'
    decode_index = params.index('-d', decode_index + 1)
    assert params[decode_index + 1] == 'tcp.port==6666,dns'
## Instruction:
Fix tests to avoid dict ordering problem
## Code After:
from pyshark.capture.capture import Capture


def test_capture_gets_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    assert params[decode_index + 1] == 'tcp.port==8888,http'


def test_capture_gets_multiple_decoding_parameters():
    c = Capture(decode_as={'tcp.port==8888': 'http', 'tcp.port==6666': 'dns'})
    params = c.get_parameters()
    decode_index = params.index('-d')
    possible_results = ['tcp.port==8888,http', 'tcp.port==6666,dns']
    assert params[decode_index + 1] in possible_results  
    possible_results.remove(params[decode_index + 1])
    decode_index = params.index('-d', decode_index + 1)
    assert params[decode_index + 1] == possible_results[0] 
