
package org.drools.workbench.screens.guided.dtable.client.widget.table.columns;

import com.ait.lienzo.client.core.shape.Text;
import com.ait.lienzo.test.LienzoMockitoTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.uberfire.ext.wires.core.grids.client.widget.context.GridBodyCellRenderContext;
import org.uberfire.ext.wires.core.grids.client.widget.dom.single.SingletonDOMElementFactory;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

@RunWith(LienzoMockitoTestRunner.class)
public class PriorityCellRendererTest {

    @Mock
    private Text text;

    @Test
    public void empty() throws
                       Exception {

        whenValueIs( "" );
        thenTextIsSetTo( "" );
    }

    @Test
    public void testNull() throws
                       Exception {

        whenValueIs( null );
        thenTextIsSetTo( "" );
    }

    @Test
    public void zero() throws
                       Exception {

        whenValueIs( "0" );
        thenTextIsSetTo( "" );
    }

    private void thenTextIsSetTo( final String text ) {
        verify( this.text ).setText( text );
    }

    private void whenValueIs( final String value ) {
        final PriorityListUiColumn.PriorityCellRenderer priorityCellRenderer = new PriorityListUiColumn.PriorityCellRenderer( mock( SingletonDOMElementFactory.class ) );
        priorityCellRenderer.doRenderCellContent( text,
                                                  value,
                                                  mock( GridBodyCellRenderContext.class ) );
    }
}