package org.ovirt.engine.ui.common.binding; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; import org.junit.Before; import org.junit.Test; public class ElementIdStatementTest { private ElementIdStatement tested; @Before public void setUp() { tested = new ElementIdStatement("owner.a.b.c", "abcId"); //$NON-NLS-1$ //$NON-NLS-2$ } @Test public void buildIdSetterStatement() { assertThat(tested.buildIdSetterStatement(), equalTo("setElementId(owner.a.b.c, \"abcId\")")); //$NON-NLS-1$ } @Test public void buildGuardCondition() { assertThat(tested.buildGuardCondition(), equalTo( "owner != null && owner.a != null && owner.a.b != null && owner.a.b.c != null")); //$NON-NLS-1$ } @Test public void getSubPaths_singlePathElement() { String[] subPaths = tested.getSubPaths("a"); //$NON-NLS-1$ assertThat(subPaths.length, equalTo(1)); assertThat(subPaths[0], equalTo("a")); //$NON-NLS-1$ } @Test public void getSubPaths_multiplePathElements() { String[] subPaths = tested.getSubPaths("a.b.c"); //$NON-NLS-1$ assertThat(subPaths.length, equalTo(3)); assertThat(subPaths[0], equalTo("a")); //$NON-NLS-1$ assertThat(subPaths[1], equalTo("a.b")); //$NON-NLS-1$ assertThat(subPaths[2], equalTo("a.b.c")); //$NON-NLS-1$ } @Test(expected = IllegalStateException.class) public void getSubPaths_malformedPath() { tested.getSubPaths(".a."); //$NON-NLS-1$ } }