var assert = require('assert');
var xor = require('../src/index');

describe('arr-xor', function() {
    it('basic xor', function() {
        assert.deepStrictEqual(xor([1, 2], [2, 3]), [1, 3]);
    });

    it('multiple arrays', function() {
        var result = xor([1, 2], [2, 3], [3, 4]);
        assert.deepStrictEqual(result, [1, 4]);
    });

    it('predicate', function() {
        var result = xor([{id: 1}, {id: 2}], [{id: 2}, {id: 3}], function equals(a, b) {
            return a.id === b.id;
        });
        assert.deepStrictEqual(result, [{id: 1}, {id: 3}]);
    });
});

@@ -578,13 +578,432 @@
 %0A    %7D);
+%0A%0A    it('more complex predicate', function() %7B%0A        var first = %5B%7Bid: 1, text: 'one'%7D, %7Bid: 2, text: 'two'%7D%5D;%0A        var second = %5B%7Bid: 2, text: 'another'%7D, %7Bid: 3, text: 'three'%7D%5D;%0A        var result = xor(first, second, function(a, b) %7B%0A            return a.id === b.id;%0A        %7D);%0A%0A        var expected = %5B%7Bid: 1, text: 'one'%7D, %7Bid: 3, text: 'three'%7D%5D;%0A        assert.deepStrictEqual(result, expected);%0A    %7D);
 %0A%7D);%0A

Add more complex predicate test case