use of au.gov.asd.tac.constellation.plugins.PluginInteraction in project constellation by constellation-app.
the class SelectTopNNGTest method testEditWithNothingSelected.
/**
* Test of edit method, of class SelectTopNPlugin.
*
* @throws java.lang.Exception
*/
@Test(expectedExceptions = PluginException.class)
public void testEditWithNothingSelected() throws Exception {
final StoreGraph graph = new StoreGraph(SchemaFactoryUtilities.getSchemaFactory(AnalyticSchemaFactory.ANALYTIC_SCHEMA_ID).createSchema());
final int vertexLabelAttr = VisualConcept.VertexAttribute.LABEL.ensure(graph);
final int vertexSelectedAttr = VisualConcept.VertexAttribute.SELECTED.ensure(graph);
final int vertexTypeAttr = AnalyticConcept.VertexAttribute.TYPE.ensure(graph);
final int transactionTypeAttr = AnalyticConcept.TransactionAttribute.TYPE.ensure(graph);
final int vx0 = graph.addVertex();
graph.setStringValue(vertexLabelAttr, vx0, "foo");
graph.setBooleanValue(vertexSelectedAttr, vx0, false);
final PluginInteraction interaction = new TextPluginInteraction();
final SelectTopNPlugin instance = new SelectTopNPlugin();
final PluginParameters parameters = instance.createParameters();
instance.edit(graph, interaction, parameters);
}
use of au.gov.asd.tac.constellation.plugins.PluginInteraction in project constellation by constellation-app.
the class SelectTopNNGTest method testEditWithTopTwoLocationsContainingDifferentTransactionTypes.
@Test
public void testEditWithTopTwoLocationsContainingDifferentTransactionTypes() throws Exception {
final StoreGraph graph = new StoreGraph(SchemaFactoryUtilities.getSchemaFactory(AnalyticSchemaFactory.ANALYTIC_SCHEMA_ID).createSchema());
final int vertexLabelAttr = VisualConcept.VertexAttribute.LABEL.ensure(graph);
final int vertexSelectedAttr = VisualConcept.VertexAttribute.SELECTED.ensure(graph);
final int vertexTypeAttr = AnalyticConcept.VertexAttribute.TYPE.ensure(graph);
final int transactionTypeAttr = AnalyticConcept.TransactionAttribute.TYPE.ensure(graph);
final int sourceVxId = graph.addVertex();
graph.setStringValue(vertexLabelAttr, sourceVxId, "source");
graph.setBooleanValue(vertexSelectedAttr, sourceVxId, true);
// buildId the graph
for (int i = 0; i < 2; i++) {
final int desintationVxId = graph.addVertex();
graph.setStringValue(vertexLabelAttr, desintationVxId, String.format("destination %s", i));
for (int j = i; j < 10; j++) {
int txId = graph.addTransaction(sourceVxId, desintationVxId, true);
graph.setObjectValue(transactionTypeAttr, txId, AnalyticConcept.TransactionType.COMMUNICATION.getName());
}
}
for (int i = 3; i < 10; i++) {
final int desintationVxId = graph.addVertex();
graph.setStringValue(vertexLabelAttr, desintationVxId, String.format("destination %s", i));
for (int j = i; j < 10; j++) {
int txId = graph.addTransaction(sourceVxId, desintationVxId, true);
graph.setObjectValue(transactionTypeAttr, txId, AnalyticConcept.TransactionType.NETWORK);
}
}
final PluginInteraction interaction = new TextPluginInteraction();
final SelectTopNPlugin instance = new SelectTopNPlugin();
final PluginParameters parameters = instance.createParameters();
parameters.getParameters().get(SelectTopNPlugin.MODE_PARAMETER_ID).setStringValue(SelectTopNPlugin.TRANSACTION);
parameters.getParameters().get(SelectTopNPlugin.TYPE_CATEGORY_PARAMETER_ID).setStringValue(AnalyticConcept.TransactionType.COMMUNICATION.getName());
// TYPE_PARAMETER will always be of type MultiChoiceParameter
@SuppressWarnings("unchecked") final PluginParameter<MultiChoiceParameterValue> subTypeParameter = (PluginParameter<MultiChoiceParameterValue>) parameters.getParameters().get(SelectTopNPlugin.TYPE_PARAMETER_ID);
final List<String> arrayList = new ArrayList<>();
arrayList.add(AnalyticConcept.TransactionType.COMMUNICATION.getName());
MultiChoiceParameterType.setChoices(subTypeParameter, arrayList);
parameters.getParameters().get(SelectTopNPlugin.LIMIT_PARAMETER_ID).setIntegerValue(2);
instance.edit(graph, interaction, parameters);
assertTrue(graph.getBooleanValue(vertexSelectedAttr, sourceVxId));
assertTrue(graph.getBooleanValue(vertexSelectedAttr, sourceVxId + 1));
assertTrue(graph.getBooleanValue(vertexSelectedAttr, sourceVxId + 2));
for (int i = 3; i < 10; i++) {
assertFalse(graph.getBooleanValue(vertexSelectedAttr, sourceVxId + i));
}
}
use of au.gov.asd.tac.constellation.plugins.PluginInteraction in project constellation by constellation-app.
the class MergeTransactionsPluginNGTest method testEditUnknownType.
/**
* Test of edit method with an unknown merge transaction type
*
* @throws Exception
*/
@Test(expectedExceptions = PluginException.class)
public void testEditUnknownType() throws Exception {
MergeTransactionsPlugin instance = new MergeTransactionsPlugin();
PluginInteraction interaction = new TextPluginInteraction();
PluginParameters parameters = instance.createParameters();
parameters.getParameters().get(MergeTransactionsPlugin.MERGE_TYPE_PARAMETER_ID).setStringValue("None");
instance.edit(graph, interaction, parameters);
}
use of au.gov.asd.tac.constellation.plugins.PluginInteraction in project constellation by constellation-app.
the class MergeTransactionsPluginNGTest method testEdit.
/**
* Test of edit method, of class MergeTransactionsPlugin.
*
* @throws Exception
*/
@Test
public void testEdit() throws Exception {
MergeTransactionsPlugin instance = new MergeTransactionsPlugin();
PluginInteraction interaction = new TextPluginInteraction();
PluginParameters parameters = instance.createParameters();
parameters.getParameters().get(MergeTransactionsPlugin.THRESHOLD_PARAMETER_ID).setIntegerValue(5);
parameters.getParameters().get(MergeTransactionsPlugin.MERGE_TYPE_PARAMETER_ID).setStringValue("DateTime");
parameters.getParameters().get(MergeTransactionsPlugin.LEAD_PARAMETER_ID).setEnabled(true);
parameters.getParameters().get(MergeTransactionsPlugin.SELECTED_PARAMETER_ID).setBooleanValue(true);
instance.edit(graph, interaction, parameters);
// Check that the transactions were merged
assertEquals(graph.getTransactionCount(), 3);
assertEquals(graph.getTransaction(txId1), 1);
assertEquals(graph.getTransaction(txId3), 2);
assertEquals(graph.getTransaction(txId4), 3);
}
use of au.gov.asd.tac.constellation.plugins.PluginInteraction in project constellation by constellation-app.
the class GraphAttributePluginNGTest method testRead.
/**
* Test of read method, of class GraphAttributePlugin.
*/
@Test
public void testRead() throws Exception {
System.out.println("read");
setupGraph();
PluginInteraction interaction = mock(PluginInteraction.class);
PluginParameters pluginParameters = mock(PluginParameters.class);
WritableGraph wg = graph.getWritableGraph("", true);
GraphElementType type = GraphElementType.VERTEX;
GraphAttributePlugin graphAttributePlugin = new GraphAttributePlugin(type, attributeList, amc);
int selectedInt = wg.getAttribute(type, 0);
Attribute selectedAttribute = new GraphAttribute(wg, selectedInt);
int labelInt = wg.getAttribute(type, 1);
Attribute labelAttribute = new GraphAttribute(wg, labelInt);
int identifierInt = wg.getAttribute(type, 2);
Attribute identifierAttribute = new GraphAttribute(wg, identifierInt);
int xInt = wg.getAttribute(type, 3);
Attribute xAttribute = new GraphAttribute(wg, xInt);
List<Attribute> expectedList = new ArrayList<>();
expectedList.add(selectedAttribute);
expectedList.add(labelAttribute);
expectedList.add(identifierAttribute);
expectedList.add(xAttribute);
/**
* The attributeList should contain all the avalible attributes of the
* given type that exist on the graph. It should contain the selected,
* label, identifier and x attributes as they are the vertex attributes
* the graph has been set with.
*/
graphAttributePlugin.read(wg, interaction, pluginParameters);
assertEquals(attributeList, expectedList);
wg.commit();
}
Aggregations