{"push_id":3788740266,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"238c26640e886b6ea4d6be1e9c59f1478ea21ff2","before":"b8c1af1f8bf92fd2027c953c92dfa84c892edd46","commits":[{"sha":"238c26640e886b6ea4d6be1e9c59f1478ea21ff2","author":{"name":"Tobi Vollebregt","email":"782fb0153812417ef71b1acb6c84ee5cb12c1338@gmail.com"},"message":"datatable:java Make DataTable.unorderedDiff symmetric\n\nSummary\r\n\r\nDataTable.unorderedDiff semantics were ill-defined and arguable wrong\r\n\r\nExpected Behavior\r\n\r\nI was expecting that unorderedDiff:\r\n\r\n *  is symmetric, i.e. a.unorderedDiff(b) behaves the same as b.unorderedDiff(a) except that +/- signs are swapped in the output when a and b are different,\r\n *  either behaves as an actual set difference, or (much better) as a multiset difference, i.e. given the current name, I'd expect it to throw if one datatable has 10 equal records and the other datatable has 1 record, also equal to those 10 records.\r\n *  outputs diffs that include the correct number of +/- lines.\r\n\r\nCurrent Behaviour\r\n\r\nCurrently, it is neither symmetric, nor behaves like set difference nor multiset difference. Specifically, for a.unorderedDiff(b), if b has more equal records than a, it throws, but if a has more records than b, it passes. Thus, it's not symmetric and only behaves like set difference in one direction.\r\n\r\nSolution\r\n\r\nI think making it a symmetric multiset difference reduces surprises the most, given the name. And it turns out the implemented logic was almost correct -- I just had to do the containment check on extraRows so that each row in to can only be used once.","distinct":true,"url":"https://api.github.com/repos/cucumber/cucumber/commits/238c26640e886b6ea4d6be1e9c59f1478ea21ff2"}]}
{"actor":{"display_login":"mpkorstanje"}}