package com.turhanoz.android.reactivedirectorychooser.model;
import com.turhanoz.android.reactivedirectorychooser.event.CurrentRootDirectoryChangedEvent;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.io.File;
import de.greenrobot.event.EventBus;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "library/src/main/AndroidManifest.xml", emulateSdk = 18)
public class DirectoryTreeTest{
DirectoryTree sut;
EventBus mockBus;
@Before
public void setUp() throws Exception {
mockBus = mock(EventBus.class);
sut = new DirectoryTree(mockBus);
}
@Test
public void changingRootDirectoryShouldNotifyThroughBus() throws Exception {
File mockRootDirectory = mock(File.class);
CurrentRootDirectoryChangedEvent expectedEvent = new CurrentRootDirectoryChangedEvent(mockRootDirectory);
sut.setRootDirectoryAndNotify(mockRootDirectory);
verify(mockBus).post(eq(expectedEvent));
}
}