Make sure when a clone is called, we actually clone it.
MergeCellsRecord merge = new MergeCellsRecord();
merge.addArea(0, (short)0, 1, (short)2);
MergeCellsRecord clone = (MergeCellsRecord)merge.clone();
assertNotSame("Merged and cloned objects are the same", merge, clone);
MergedRegion mergeRegion = merge.getAreaAt(0);
MergedRegion cloneRegion = clone.getAreaAt(0);
assertNotSame("Should not point to same objects when cloning", mergeRegion, cloneRegion);
assertEquals("New Clone Row From doesnt match", mergeRegion.row_from, cloneRegion.row_from);
assertEquals("New Clone Row To doesnt match", mergeRegion.row_to, cloneRegion.row_to);
assertEquals("New Clone Col From doesnt match", mergeRegion.col_from, cloneRegion.col_from);
assertEquals("New Clone Col To doesnt match", mergeRegion.col_to, cloneRegion.col_to);
merge.removeAreaAt(0);
assertNotNull("Clone's item not removed", clone.getAreaAt(0));