@@ -243,8 +243,8 @@ func (s *MySuite) TestToVerifyXmlContentForDataTableDrivenExecution(c *C) {
243243 value := gauge_messages .ProtoItem_TableDrivenScenario
244244 scenario1 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
245245 scenario2 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
246- item1 := & gauge_messages.ProtoItem {TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {Scenario : & scenario1 , TableRowIndex : 0 }, ItemType : value }
247- item2 := & gauge_messages.ProtoItem {TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {Scenario : & scenario2 , TableRowIndex : 1 }, ItemType : value }
246+ item1 := & gauge_messages.ProtoItem {TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {Scenario : & scenario1 , IsSpecTableDriven : true , TableRowIndex : 0 }, ItemType : value }
247+ item2 := & gauge_messages.ProtoItem {TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {Scenario : & scenario2 , IsSpecTableDriven : true , TableRowIndex : 1 }, ItemType : value }
248248 spec1 := & gauge_messages.ProtoSpec {SpecHeading : "HEADING" , FileName : "FILENAME" , Items : []* gauge_messages.ProtoItem {tableItem , item1 , item2 }}
249249 specResult := & gauge_messages.ProtoSpecResult {ProtoSpec : spec1 , ScenarioCount : 1 , Failed : false }
250250 suiteResult := & gauge_messages.ProtoSuiteResult {SpecResults : []* gauge_messages.ProtoSpecResult {specResult }}
@@ -269,8 +269,145 @@ func (s *MySuite) TestToVerifyXmlContentForDataTableDrivenExecution(c *C) {
269269 c .Assert (suites .Suites [0 ].SystemError .Contents , Equals , "" )
270270 c .Assert (suites .Suites [0 ].SystemOutput .Contents , Equals , "" )
271271 c .Assert (len (suites .Suites [0 ].TestCases ), Equals , 2 )
272- c .Assert (suites .Suites [0 ].TestCases [0 ].Name , Equals , "Scenario 1: [name: john] [age: 20]" )
273- c .Assert (suites .Suites [0 ].TestCases [1 ].Name , Equals , "Scenario 2: [name: mike] [age: 22]" )
272+ c .Assert (suites .Suites [0 ].TestCases [0 ].Name , Equals , "Scenario | SpecRow: 1: [name: john] [age: 20]" )
273+ c .Assert (suites .Suites [0 ].TestCases [1 ].Name , Equals , "Scenario | SpecRow: 2: [name: mike] [age: 22]" )
274+ }
275+
276+ func (s * MySuite ) TestToVerifyXmlContentForScenarioTableDrivenExecution (c * C ) {
277+ scenarioTable := & gauge_messages.ProtoTable {
278+ Headers : & gauge_messages.ProtoTableRow {
279+ Cells : []string {"city" , "country" },
280+ },
281+ Rows : []* gauge_messages.ProtoTableRow {
282+ {Cells : []string {"New York" , "USA" }},
283+ {Cells : []string {"London" , "UK" }},
284+ },
285+ }
286+
287+ value := gauge_messages .ProtoItem_TableDrivenScenario
288+ scenario1 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
289+ scenario2 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
290+ item1 := & gauge_messages.ProtoItem {
291+ TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {
292+ Scenario : & scenario1 ,
293+ IsScenarioTableDriven : true ,
294+ ScenarioTableRowIndex : 0 ,
295+ ScenarioDataTable : scenarioTable ,
296+ },
297+ ItemType : value ,
298+ }
299+ item2 := & gauge_messages.ProtoItem {
300+ TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {
301+ Scenario : & scenario2 ,
302+ IsScenarioTableDriven : true ,
303+ ScenarioTableRowIndex : 1 ,
304+ ScenarioDataTable : scenarioTable ,
305+ },
306+ ItemType : value ,
307+ }
308+ spec1 := & gauge_messages.ProtoSpec {SpecHeading : "HEADING" , FileName : "FILENAME" , Items : []* gauge_messages.ProtoItem {item1 , item2 }}
309+ specResult := & gauge_messages.ProtoSpecResult {ProtoSpec : spec1 , ScenarioCount : 1 , Failed : false }
310+ suiteResult := & gauge_messages.ProtoSuiteResult {SpecResults : []* gauge_messages.ProtoSpecResult {specResult }}
311+ message := & gauge_messages.SuiteExecutionResult {SuiteResult : suiteResult }
312+
313+ builder := & XmlBuilder {currentId : 0 }
314+ bytes , err := builder .GetXmlContent (message )
315+
316+ assertXmlValidation (bytes , c )
317+
318+ var suites JUnitTestSuites
319+ xml .Unmarshal (bytes , & suites )
320+
321+ c .Assert (err , Equals , nil )
322+ c .Assert (len (suites .Suites ), Equals , 1 )
323+ c .Assert (suites .Suites [0 ].Errors , Equals , 0 )
324+ c .Assert (suites .Suites [0 ].Failures , Equals , 0 )
325+ c .Assert (suites .Suites [0 ].Package , Equals , "FILENAME" )
326+ c .Assert (suites .Suites [0 ].Name , Equals , "HEADING" )
327+ c .Assert (suites .Suites [0 ].Tests , Equals , 1 )
328+ c .Assert (suites .Suites [0 ].Timestamp , Equals , builder .suites .Suites [0 ].Timestamp )
329+ c .Assert (suites .Suites [0 ].SystemError .Contents , Equals , "" )
330+ c .Assert (suites .Suites [0 ].SystemOutput .Contents , Equals , "" )
331+ c .Assert (len (suites .Suites [0 ].TestCases ), Equals , 2 )
332+ c .Assert (suites .Suites [0 ].TestCases [0 ].Name , Equals , "Scenario | ScnRow: 1: [city: New York] [country: USA]" )
333+ c .Assert (suites .Suites [0 ].TestCases [1 ].Name , Equals , "Scenario | ScnRow: 2: [city: London] [country: UK]" )
334+ }
335+
336+ func (s * MySuite ) TestToVerifyXmlContentForBothSpecAndScenarioTableDrivenExecution (c * C ) {
337+ specTableItem := & gauge_messages.ProtoItem {
338+ ItemType : gauge_messages .ProtoItem_Table ,
339+ Table : & gauge_messages.ProtoTable {
340+ Headers : & gauge_messages.ProtoTableRow {
341+ Cells : []string {"name" , "age" },
342+ },
343+ Rows : []* gauge_messages.ProtoTableRow {
344+ {Cells : []string {"john" , "20" }},
345+ {Cells : []string {"mike" , "22" }},
346+ },
347+ },
348+ }
349+
350+ scenarioTable := & gauge_messages.ProtoTable {
351+ Headers : & gauge_messages.ProtoTableRow {
352+ Cells : []string {"city" , "country" },
353+ },
354+ Rows : []* gauge_messages.ProtoTableRow {
355+ {Cells : []string {"New York" , "USA" }},
356+ {Cells : []string {"London" , "UK" }},
357+ },
358+ }
359+
360+ value := gauge_messages .ProtoItem_TableDrivenScenario
361+ scenario1 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
362+ scenario2 := gauge_messages.ProtoScenario {ScenarioHeading : "Scenario" }
363+ item1 := & gauge_messages.ProtoItem {
364+ TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {
365+ Scenario : & scenario1 ,
366+ IsSpecTableDriven : true ,
367+ TableRowIndex : 0 ,
368+ IsScenarioTableDriven : true ,
369+ ScenarioTableRowIndex : 0 ,
370+ ScenarioDataTable : scenarioTable ,
371+ },
372+ ItemType : value ,
373+ }
374+ item2 := & gauge_messages.ProtoItem {
375+ TableDrivenScenario : & gauge_messages.ProtoTableDrivenScenario {
376+ Scenario : & scenario2 ,
377+ IsSpecTableDriven : true ,
378+ TableRowIndex : 1 ,
379+ IsScenarioTableDriven : true ,
380+ ScenarioTableRowIndex : 1 ,
381+ ScenarioDataTable : scenarioTable ,
382+ },
383+ ItemType : value ,
384+ }
385+ spec1 := & gauge_messages.ProtoSpec {SpecHeading : "HEADING" , FileName : "FILENAME" , Items : []* gauge_messages.ProtoItem {specTableItem , item1 , item2 }}
386+ specResult := & gauge_messages.ProtoSpecResult {ProtoSpec : spec1 , ScenarioCount : 1 , Failed : false }
387+ suiteResult := & gauge_messages.ProtoSuiteResult {SpecResults : []* gauge_messages.ProtoSpecResult {specResult }}
388+ message := & gauge_messages.SuiteExecutionResult {SuiteResult : suiteResult }
389+
390+ builder := & XmlBuilder {currentId : 0 }
391+ bytes , err := builder .GetXmlContent (message )
392+
393+ assertXmlValidation (bytes , c )
394+
395+ var suites JUnitTestSuites
396+ xml .Unmarshal (bytes , & suites )
397+
398+ c .Assert (err , Equals , nil )
399+ c .Assert (len (suites .Suites ), Equals , 1 )
400+ c .Assert (suites .Suites [0 ].Errors , Equals , 0 )
401+ c .Assert (suites .Suites [0 ].Failures , Equals , 0 )
402+ c .Assert (suites .Suites [0 ].Package , Equals , "FILENAME" )
403+ c .Assert (suites .Suites [0 ].Name , Equals , "HEADING" )
404+ c .Assert (suites .Suites [0 ].Tests , Equals , 1 )
405+ c .Assert (suites .Suites [0 ].Timestamp , Equals , builder .suites .Suites [0 ].Timestamp )
406+ c .Assert (suites .Suites [0 ].SystemError .Contents , Equals , "" )
407+ c .Assert (suites .Suites [0 ].SystemOutput .Contents , Equals , "" )
408+ c .Assert (len (suites .Suites [0 ].TestCases ), Equals , 2 )
409+ c .Assert (suites .Suites [0 ].TestCases [0 ].Name , Equals , "Scenario | SpecRow: 1: [name: john] [age: 20] ScnRow: 1: [city: New York] [country: USA]" )
410+ c .Assert (suites .Suites [0 ].TestCases [1 ].Name , Equals , "Scenario | SpecRow: 2: [name: mike] [age: 22] ScnRow: 2: [city: London] [country: UK]" )
274411}
275412
276413func (s * MySuite ) TestToVerifyXmlContentForErroredSpec (c * C ) {
0 commit comments