testDirect("Aa\nBb\nCc\n", "", "", "", null, FSMergerBySequence.NOT_MODIFIED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "", ">" + FSMergerBySequence.DEFAULT_EOL + "Aa\nBb\nCc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "Aa\nBb\n", "Aa\nBb\n>" + FSMergerBySequence.DEFAULT_EOL + "Cc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", "Aa\nBb\nCc\nEe", "Aa\nBb\nCc\n>" + FSMergerBySequence.DEFAULT_EOL + "Dd=" + FSMergerBySequence.DEFAULT_EOL + "Ee<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED);
testDirect("Aa\nBb\nCc\n", "", "", "", FSMergerBySequence.NOT_MODIFIED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "", ">" + FSMergerBySequence.DEFAULT_EOL + "Aa\nBb\nCc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, FSMergerBySequence.CONFLICTED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "Aa\nBb\n", "Aa\nBb\n>" + FSMergerBySequence.DEFAULT_EOL + "Cc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, FSMergerBySequence.CONFLICTED); testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", "Aa\nBb\nCc\nEe", "Aa\nBb\nCc\n>" + FSMergerBySequence.DEFAULT_EOL + "Dd=" + FSMergerBySequence.DEFAULT_EOL + "Ee<" + FSMergerBySequence.DEFAULT_EOL, FSMergerBySequence.CONFLICTED);
	public void testSVNSuite() throws IOException {		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", "Aa\nBb\nCc\nEe", "Aa\nBb\nCc\n>\r\nDd=\r\nEe<\r\n", null, FSMergerBySequence.CONFLICTED);		// test_three_way_merge_no_overlap		testDirect("Aa\nBb\nCc\n", "Xx\nAa\nBb\nCc\n", "Aa\nBb\nCc\nYy\n", "Xx\nAa\nBb\nCc\nYy\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\n", "Xx\nAa\nBb\nCc\nYy\n", "Aa\nBb\nZz\nCc\n", "Xx\nAa\nBb\nZz\nCc\nYy\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc", "Xx\nBb\nCc\n", "Xx\nBb\nCc", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\n", "Xx\nBb\nCc\n", "Aa\nBb\nCc", "Xx\nBb\nCc", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\nDd\nEe\nFf\nGg\nHh\nIi\n", "Aa\nBb\nCc\nDd\nEe\nFf\nYy\nZz\nHh\nIi\n", "Bb\nCc\nDd\nEe\nFf\nGg\nHh\nIi\n", "Bb\nCc\nDd\nEe\nFf\nYy\nZz\nHh\nIi\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\r\nBb\nCc\n", "Xx\r\nAa\r\nBb\nCc\n", "Aa\r\nBb\nCc\nYy\r\n", "Xx\r\nAa\r\nBb\nCc\nYy\r\n", null, FSMergerBySequence.MERGED);		testDirect("AaAaAaAaAaAa\nBb\nCc\n", "Xx\nBb\nCc\n", "AaAaAaAaAaAa\nBb\nCcCcCcCcCcCc\nYy\n", "Xx\nBb\nCcCcCcCcCcCc\nYy\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", "Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", null, FSMergerBySequence.MERGED);		// test_three_way_merge_with_overlap		testDirect("Aa\nBb\nCc\nDd\nEe\n", "Aa\nXx\nBb\nCc\nYy\nEe\n", "Aa\nBb\nCc\nYy\nEe\nZz\n", "Aa\nXx\nBb\nCc\nYy\nEe\nZz\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\nDd\nEe\nFf\n", "Aa\nYy\nZz\nDd\nPp\nQq\nFf\n", "Pp\nQq\nAa\nBb\nCc\nDd\nPp\nQq\nFf\nPp\nQq\n", "Pp\nQq\nAa\nYy\nZz\nDd\nPp\nQq\nFf\nPp\nQq\n", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\n", "Xx\nAa\nBb\nCc", "Aa\nXx\nBb\nCc", "Xx\nAa\nXx\nBb\nCc", null, FSMergerBySequence.MERGED);		testDirect("Aa\nBb\nCc\nDd\nEe\nFf\nGg\nHh\n", "Aa\nFf\nGg\nHh\nBb\nCc\nXx\nDd\nEe\nYy\nFf\nGg\nHh\n", "Aa\nBb\nCc\nXx\nDd\nEe\nFf\nGg\nZz\nHh\n", "Aa\nFf\nGg\nHh\nBb\nCc\nXx\nDd\nEe\nYy\nFf\nGg\nZz\nHh\n", null, FSMergerBySequence.MERGED);		// test_three_way_merge_with_conflict		testDirect("Aa\nBb\nCc\n", "", "", "", null, FSMergerBySequence.NOT_MODIFIED);		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "", ">" + FSMergerBySequence.DEFAULT_EOL + "Aa\nBb\nCc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED);		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd\nEe\nFf\n", "Aa\nBb\n", "Aa\nBb\n>" + FSMergerBySequence.DEFAULT_EOL + "Cc\nDd\nEe\nFf\n=" + FSMergerBySequence.DEFAULT_EOL + "<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED);		testDirect("Aa\nBb\nCc\n", "Aa\nBb\nCc\nDd", "Aa\nBb\nCc\nEe", "Aa\nBb\nCc\n>" + FSMergerBySequence.DEFAULT_EOL + "Dd=" + FSMergerBySequence.DEFAULT_EOL + "Ee<" + FSMergerBySequence.DEFAULT_EOL, null, FSMergerBySequence.CONFLICTED);		// merge_adjacent_changes		testDirect("foo\nbar\nbaz\n", "foo\nnew_bar\nbaz\n", "zig\nfoo\nbar\nnew_baz\n", "zig\nfoo\nnew_bar\nnew_baz\n", null, FSMergerBySequence.MERGED);	}