/*
* Copyright 2016 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.robotframework.red.nattable.configs;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.assertj.core.api.Condition;
import org.eclipse.swt.graphics.Color;
import org.junit.Test;
import org.robotframework.ide.eclipse.main.plugin.tableeditor.TableThemes.TableTheme;
import org.robotframework.red.graphics.ColorsManager;
public class AlternatingRowsStyleConfigurationTest {
@Test
public void configurationCheck() {
final Color oddBgColorInUse = ColorsManager.getColor(200, 200, 200);
final Color evenBgColorInUse = ColorsManager.getColor(100, 100, 100);
final TableTheme theme = mock(TableTheme.class);
when(theme.getBodyBackgroundOddRowBackground()).thenReturn(oddBgColorInUse);
when(theme.getBodyBackgroundEvenRowBackground()).thenReturn(evenBgColorInUse);
final AlternatingRowsStyleConfiguration configuration = new AlternatingRowsStyleConfiguration(theme);
assertThat(configuration).has(oddBackground(oddBgColorInUse));
assertThat(configuration).has(evenBackground(evenBgColorInUse));
}
private Condition<AlternatingRowsStyleConfiguration> oddBackground(final Color bgColorInUse) {
return new Condition<AlternatingRowsStyleConfiguration>() {
@Override
public boolean matches(final AlternatingRowsStyleConfiguration config) {
return config.oddRowBgColor.equals(bgColorInUse);
}
};
}
private Condition<AlternatingRowsStyleConfiguration> evenBackground(final Color fgColorInUse) {
return new Condition<AlternatingRowsStyleConfiguration>() {
@Override
public boolean matches(final AlternatingRowsStyleConfiguration config) {
return config.evenRowBgColor.equals(fgColorInUse);
}
};
}
}