package com.azimo.tool.config; import com.azimo.tool.config.mapper.ConfigFileReader; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.io.IOException; import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; /** * Created by F1sherKK on 19/01/17. */ public class AppConfigLoaderTest { AppConfigLoader appConfigLoader; @Mock ConfigFileReader configFileReader; @Before public void setUp() { MockitoAnnotations.initMocks(this); appConfigLoader = new AppConfigLoader(configFileReader); } @Test public void testOnInit_shouldReturnConfiguredAppConfig() throws IOException { String mockFilePath = "mockedFilePath"; when(configFileReader.getConfigFilePath(anyString(), anyString())).thenReturn(mockFilePath); String value1 = "mockedValue1"; String value2 = "mockedValue2"; String line1 = AppConfigKey.ANDROID_PACKAGE_NAME + " " + value1; String line2 = AppConfigKey.APPLICATION_NAME + " " + value2; List<String> configFileLineList = Arrays.asList(line1, line2); when(configFileReader.readFile(mockFilePath)).thenReturn(configFileLineList); when(configFileReader.readValueForKey(line1, AppConfigKey.ANDROID_PACKAGE_NAME.toLabel())).thenReturn(value1); when(configFileReader.readValueForKey(line2, AppConfigKey.APPLICATION_NAME.toLabel())).thenReturn(value2); AppConfig appConfig = appConfigLoader.init(); assertEquals(appConfig.get(AppConfigKey.ANDROID_PACKAGE_NAME), value1); assertEquals(appConfig.get(AppConfigKey.APPLICATION_NAME), value2); } }