package i5.las2peer.services.ocd.algorithms.SpeakerListenerLabelPropagationHelpers;
import static org.junit.Assert.assertEquals;
import i5.las2peer.services.ocd.algorithms.utils.SlpaListenerRuleCommand;
import i5.las2peer.services.ocd.algorithms.utils.SlpaPopularityListenerRule;
import i5.las2peer.services.ocd.graphs.CustomGraph;
import i5.las2peer.services.ocd.testsUtils.OcdTestGraphFactory;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import y.base.Node;
import y.base.NodeCursor;
public class PopularityListenerRuleTest {
@Test
public void test() {
CustomGraph graph = OcdTestGraphFactory.getTwoCommunitiesGraph();
Node listener = graph.getNodeArray()[0];
NodeCursor successors = listener.successors();
Map<Node, Integer> receivedLabels = new HashMap<Node, Integer>();
while(successors.ok()) {
receivedLabels.put(successors.node(), 0);
successors.next();
}
successors.toFirst();
receivedLabels.put(successors.node(), 1);
successors.toLast();
receivedLabels.put(successors.node(), 1);
System.out.println("Labels:");
System.out.println(receivedLabels);
SlpaListenerRuleCommand listenerRule = new SlpaPopularityListenerRule();
int chosenLabel = listenerRule.getLabel(graph, listener, receivedLabels);
System.out.println("Chosen: " + chosenLabel);
assertEquals(chosenLabel, 0);
}
}