I have a customer that has a CSV file that contains a table of values that they are using to configure their network. After the configuration, they are querying the DUT(s) to see if the proper configuration was realized. The return from the DUT is also a table.
In general, the analysis logic is as follows:
If the intersection of the two tables is null Then The test case passes Else Fail the test case and display the extra rows in the execution messages.
This test case will be run against 100+ devices so the request is to keep the execution time to a minimum.
At the current time, the solution determines the which table has the most rows and loops through the larger table comparing the rows to the rows in the smaller table. If the row matches exactly, a PassIfNotAlreadyFailed is set. If not, each element of the row is checked to see what's incorrect at which time a message is printed with the incorrect element and the test case is marked as Failed.
While this works and has greatly reduced execution time by a factor of 2, is there a more efficient method for doing this?