package ru.gelin.android.weather.notification.skin.impl;
import android.test.AndroidTestCase;
import ru.gelin.android.weather.SimpleWeatherCondition;
import ru.gelin.android.weather.WeatherConditionType;
import ru.gelin.android.weather.notification.skin.R;
public class WeatherConditionFormatTest extends AndroidTestCase {
WeatherConditionFormat format;
public void setUp() {
format = new WeatherConditionFormat(getContext());
}
public void testGetStringId() {
assertEquals(R.string.condition_rain_light, (int)WeatherConditionFormat.getStringId(WeatherConditionType.RAIN_LIGHT));
assertEquals(R.string.condition_tornado, (int)WeatherConditionFormat.getStringId(WeatherConditionType.TORNADO));
}
public void testGetText() {
testConditionText("Rain", new WeatherConditionType[]{WeatherConditionType.RAIN, WeatherConditionType.CLOUDS_BROKEN});
testConditionText("Tornado", new WeatherConditionType[]{WeatherConditionType.RAIN, WeatherConditionType.TORNADO});
testConditionText("Tornado, Hurricane", new WeatherConditionType[]{WeatherConditionType.TORNADO, WeatherConditionType.HURRICANE});
}
private void testConditionText(String expected, WeatherConditionType[] types) {
SimpleWeatherCondition condition = new SimpleWeatherCondition();
for (WeatherConditionType type : types) {
condition.addConditionType(type);
}
WeatherConditionFormat format = new WeatherConditionFormat(getContext());
assertEquals(expected, format.getText(condition));
}
public void testEmptyCondition() {
SimpleWeatherCondition condition = new SimpleWeatherCondition();
WeatherConditionFormat format = new WeatherConditionFormat(getContext());
assertEquals("Sky is clear", format.getText(condition));
}
}