def test_scenario_tables_are_solved_against_outlines():
 expected_hashes_per_step = [[{'Parameter': 'a', 'Value': '1'}, {'Parameter': 'b', 'Value': '2'}], [], [], [{'Parameter': 'a', 'Value': '2'}, {'Parameter': 'b', 'Value': '4'}], [], []]
 scenario = Scenario.from_string(OUTLINED_SCENARIO_WITH_SUBSTITUTIONS_IN_TABLE)
 for (step, expected_hashes) in zip(scenario.solved_steps, expected_hashes_per_step):
  assert_equals(type(step), Step)
  assert_equals(step.hashes, expected_hashes)

def test_scenario_tables_are_solved_against_outlines ( ) : expected_hashes_per_step = [ [ { 'Parameter' : 'a' , 'Value' : '1' } , { 'Parameter' : 'b' , 'Value' : '2' } ] , [ ] , [ ] , [ { 'Parameter' : 'a' , 'Value' : '2' } , { 'Parameter' : 'b' , 'Value' : '4' } ] , [ ] , [ ] ] scenario = Scenario . from_string ( OUTLINED_SCENARIO_WITH_SUBSTITUTIONS_IN_TABLE ) for ( step , expected_hashes ) in zip ( scenario . solved_steps , expected_hashes_per_step ) : assert_equals ( type ( step ) , Step ) assert_equals ( step . hashes , expected_hashes )
outline substitution should apply to tables within a scenario .