package gov.nasa.arc.mct.fastplot.policy;
import gov.nasa.arc.mct.components.FeedProvider;
import gov.nasa.arc.mct.components.FeedProvider.FeedType;
import gov.nasa.arc.mct.fastplot.view.PlotViewManifestation;
import gov.nasa.arc.mct.policy.Policy;
import gov.nasa.arc.mct.policy.PolicyContext;
import gov.nasa.arc.mct.services.component.ViewInfo;
import gov.nasa.arc.mct.services.component.ViewType;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestPlotStringPolicy {
private Policy policy;
private ViewInfo viewInfo;
@Mock PlotViewManifestation mockView;
PolicyContext context;
@Mock FeedProvider mockProvider;
@BeforeMethod
public void setup() {
MockitoAnnotations.initMocks(this);
policy = new PlotStringPolicy();
context = new PolicyContext();
viewInfo = new ViewInfo(PlotViewManifestation.class, "Plot", ViewType.OBJECT);
context.setProperty(PolicyContext.PropertyName.TARGET_VIEW_INFO.getName(),
viewInfo);
context.setProperty(PolicyContext.PropertyName.TARGET_COMPONENT.getName(),
mockProvider);
}
@Test
public void testFeedTypes() {
// Should return true for all FeedType options, except string
for (FeedType ft : FeedType.values()) {
Mockito.when(mockProvider.getFeedType()).thenReturn(ft);
Assert.assertEquals(policy.execute(context).getStatus(), ft != FeedType.STRING);
}
}
}