package com.xenoage.zong.commands.core.music; import static com.xenoage.utils.math.Fraction.fr; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.xenoage.utils.document.command.CommandPerformer; import com.xenoage.zong.core.Score; import com.xenoage.zong.core.ScoreFactory; import com.xenoage.zong.core.header.ColumnHeader; import com.xenoage.zong.core.music.barline.Barline; import com.xenoage.zong.core.music.barline.BarlineStyle; /** * Tests for {@link ColumnElementWrite}. * * @author Andreas Wenger */ public class ColumnElementRemoveTest { @Test public void test() { Score score = ScoreFactory.create1Staff4Measures(); CommandPerformer cmd = score.getCommandPerformer(); ColumnHeader column2 = score.getColumnHeader(2); //write middle barline Barline b = Barline.barline(BarlineStyle.LightHeavy); cmd.execute(new ColumnElementWrite(b, column2, fr(1, 4), null)); //remove it cmd.execute(new ColumnElementRemove(column2, b)); assertEquals(0, column2.getMiddleBarlines().size()); //undo. should be here again cmd.undo(); assertEquals(b, column2.getMiddleBarlines().get(fr(1, 4))); } }