本文整理汇总了Java中com.google.javascript.jscomp.graph.LinkedUndirectedGraph类的典型用法代码示例。如果您正苦于以下问题:Java LinkedUndirectedGraph类的具体用法?Java LinkedUndirectedGraph怎么用?Java LinkedUndirectedGraph使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LinkedUndirectedGraph类属于com.google.javascript.jscomp.graph包,在下文中一共展示了LinkedUndirectedGraph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testGreedy
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testGreedy() {
Graph<String, String> graph = new LinkedUndirectedGraph<String, String>();
graph.createNode("A");
graph.createNode("B");
graph.createNode("C");
graph.createNode("D");
graph.connect("A", "--", "C");
graph.connect("B", "--", "C");
graph.connect("B", "--", "D");
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(2, coloring.color());
validateColoring(graph);
assertEquals("A", coloring.getPartitionSuperNode("A"));
assertEquals("A", coloring.getPartitionSuperNode("B"));
assertEquals("C", coloring.getPartitionSuperNode("C"));
}
示例2: testFullyConnected
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testFullyConnected() {
final int count = 100;
Graph<String, String> graph = new LinkedUndirectedGraph<String, String>();
for (int i = 0; i < count; i++) {
graph.createNode("Node " + i);
for (int j = 0; j < count; j++) {
graph.createNode("Node " + j);
if (i != j) {
graph.connect("Node " + i, null, "Node " + j);
}
}
}
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(count, coloring.color());
validateColoring(graph);
for (int i = 0; i < count; i++) {
assertEquals("Node " + i, coloring.getPartitionSuperNode("Node " + i));
}
}
示例3: testAllConnectedToOneNode
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testAllConnectedToOneNode() {
final int count = 10;
Graph<String, String> graph = new LinkedUndirectedGraph<String, String>();
graph.createNode("Center");
for (int i = 0; i < count; i++) {
graph.createNode("Node " + i);
graph.connect("Center", null, "Node " + i);
}
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(2, coloring.color());
validateColoring(graph);
assertEquals("Center", coloring.getPartitionSuperNode("Center"));
for (int i = 0; i < count; i++) {
assertEquals("Node 0", coloring.getPartitionSuperNode("Node " + i));
}
}
示例4: testUndirectedSimple
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testUndirectedSimple() {
UndiGraph<String, String> graph =
new LinkedUndirectedGraph<String, String>();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.connect("a", "--", "b");
assertTrue(graph.hasNode("a"));
assertTrue(graph.hasNode("b"));
assertTrue(graph.hasNode("c"));
assertFalse(graph.hasNode("d"));
assertTrue(graph.isConnected("a", "b"));
assertTrue(graph.isConnected("b", "a"));
assertFalse(graph.isConnected("a", "c"));
assertFalse(graph.isConnected("b", "c"));
assertFalse(graph.isConnected("c", "a"));
assertFalse(graph.isConnected("c", "b"));
assertFalse(graph.isConnected("a", "a"));
assertFalse(graph.isConnected("b", "b"));
assertFalse(graph.isConnected("b", "c"));
// Removal.
graph.disconnect("a", "b");
assertFalse(graph.isConnected("a", "b"));
assertFalse(graph.isConnected("b", "a"));
}
示例5: testUndirectedNeighbors
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testUndirectedNeighbors() {
UndiGraph<String, String> graph =
new LinkedUndirectedGraph<String, String>();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.createNode("d");
graph.connect("a", "-", "b");
graph.connect("a", "--", "b");
graph.connect("a", "---", "b");
graph.connect("a", "-", "c");
graph.connect("c", "-", "d");
assertSetEquals(graph.getNeighborNodes("a"), "b", "c");
assertSetEquals(graph.getNeighborNodes("b"), "a");
assertSetEquals(graph.getNeighborNodes("c"), "a", "d");
assertListCount(graph.getNeighborNodes("a"), "b", 3);
// Removal.
graph.disconnect("a", "b");
assertFalse(graph.isConnected("a", "b"));
}
示例6: testSimpleSubGraph
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testSimpleSubGraph() {
UndiGraph<String, String> graph =
new LinkedUndirectedGraph<String, String>();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.connect("a", "--", "b");
SubGraph<String, String> subGraph = graph.newSubGraph();
subGraph.addNode("a");
subGraph.addNode("b");
try {
subGraph.addNode("d");
fail("SubGraph should not allow add for node that is not in graph.");
} catch (IllegalArgumentException e) {
// exception expected
}
assertFalse(subGraph.isIndependentOf("a"));
assertFalse(subGraph.isIndependentOf("b"));
assertTrue(subGraph.isIndependentOf("c"));
}
示例7: RenameProperties
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
/**
* Creates an instance.
*
* @param compiler The JSCompiler.
* @param affinity Optimize for affinity information.
* @param generatePseudoNames Generate pseudo names. e.g foo -> $foo$ instead
* of compact obfuscated names. This is used for debugging.
* @param prevUsedPropertyMap The property renaming map used in a previous
* compilation.
* @param reservedCharacters If specified these characters won't be used in
* generated names
*/
RenameProperties(AbstractCompiler compiler,
boolean affinity,
boolean generatePseudoNames,
VariableMap prevUsedPropertyMap,
@Nullable char[] reservedCharacters) {
this.compiler = compiler;
this.generatePseudoNames = generatePseudoNames;
this.prevUsedPropertyMap = prevUsedPropertyMap;
this.reservedCharacters = reservedCharacters;
if (affinity) {
this.affinityGraph = LinkedUndirectedGraph.createWithoutAnnotations();
} else {
this.affinityGraph = null;
}
}
示例8: testGreedy
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testGreedy() {
Graph<String, String> graph = LinkedUndirectedGraph.create();
graph.createNode("A");
graph.createNode("B");
graph.createNode("C");
graph.createNode("D");
graph.connect("A", "--", "C");
graph.connect("B", "--", "C");
graph.connect("B", "--", "D");
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(2, coloring.color());
validateColoring(graph);
assertEquals("A", coloring.getPartitionSuperNode("A"));
assertEquals("A", coloring.getPartitionSuperNode("B"));
assertEquals("C", coloring.getPartitionSuperNode("C"));
}
示例9: testFullyConnected
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testFullyConnected() {
final int count = 100;
Graph<String, String> graph = LinkedUndirectedGraph.create();
for (int i = 0; i < count; i++) {
graph.createNode("Node " + i);
for (int j = 0; j < count; j++) {
graph.createNode("Node " + j);
if (i != j) {
graph.connect("Node " + i, null, "Node " + j);
}
}
}
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(count, coloring.color());
validateColoring(graph);
for (int i = 0; i < count; i++) {
assertEquals("Node " + i, coloring.getPartitionSuperNode("Node " + i));
}
}
示例10: testAllConnectedToOneNode
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testAllConnectedToOneNode() {
final int count = 10;
Graph<String, String> graph = LinkedUndirectedGraph.create();
graph.createNode("Center");
for (int i = 0; i < count; i++) {
graph.createNode("Node " + i);
graph.connect("Center", null, "Node " + i);
}
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(2, coloring.color());
validateColoring(graph);
assertEquals("Center", coloring.getPartitionSuperNode("Center"));
for (int i = 0; i < count; i++) {
assertEquals("Node 0", coloring.getPartitionSuperNode("Node " + i));
}
}
示例11: testUndirectedSimple
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testUndirectedSimple() {
UndiGraph<String, String> graph =
LinkedUndirectedGraph.create();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.connect("a", "--", "b");
assertTrue(graph.hasNode("a"));
assertTrue(graph.hasNode("b"));
assertTrue(graph.hasNode("c"));
assertFalse(graph.hasNode("d"));
assertTrue(graph.isConnected("a", "b"));
assertTrue(graph.isConnected("b", "a"));
assertFalse(graph.isConnected("a", "c"));
assertFalse(graph.isConnected("b", "c"));
assertFalse(graph.isConnected("c", "a"));
assertFalse(graph.isConnected("c", "b"));
assertFalse(graph.isConnected("a", "a"));
assertFalse(graph.isConnected("b", "b"));
assertFalse(graph.isConnected("b", "c"));
// Removal.
graph.disconnect("a", "b");
assertFalse(graph.isConnected("a", "b"));
assertFalse(graph.isConnected("b", "a"));
}
示例12: testUndirectedNeighbors
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testUndirectedNeighbors() {
UndiGraph<String, String> graph =
LinkedUndirectedGraph.create();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.createNode("d");
graph.connect("a", "-", "b");
graph.connect("a", "--", "b");
graph.connect("a", "---", "b");
graph.connect("a", "-", "c");
graph.connect("c", "-", "d");
assertSetEquals(graph.getNeighborNodes("a"), "b", "c");
assertSetEquals(graph.getNeighborNodes("b"), "a");
assertSetEquals(graph.getNeighborNodes("c"), "a", "d");
assertListCount(graph.getNeighborNodes("a"), "b", 3);
// Removal.
graph.disconnect("a", "b");
assertFalse(graph.isConnected("a", "b"));
}
示例13: testSimpleSubGraph
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testSimpleSubGraph() {
UndiGraph<String, String> graph =
LinkedUndirectedGraph.create();
graph.createNode("a");
graph.createNode("b");
graph.createNode("c");
graph.connect("a", "--", "b");
SubGraph<String, String> subGraph = graph.newSubGraph();
subGraph.addNode("a");
subGraph.addNode("b");
try {
subGraph.addNode("d");
fail("SubGraph should not allow add for node that is not in graph.");
} catch (IllegalArgumentException e) {
// exception expected
}
assertFalse(subGraph.isIndependentOf("a"));
assertFalse(subGraph.isIndependentOf("b"));
assertTrue(subGraph.isIndependentOf("c"));
}
示例14: RenameProperties
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
/**
* Creates an instance.
*
* @param compiler The JSCompiler.
* @param affinity Optimize for affinity information.
* @param generatePseudoNames Generate pseudo names. e.g foo -> $foo$ instead
* of compact obfuscated names. This is used for debugging.
* @param prevUsedPropertyMap The property renaming map used in a previous
* compilation.
* @param reservedCharacters If specified these characters won't be used in
* generated names
*/
RenameProperties(AbstractCompiler compiler,
boolean affinity,
boolean generatePseudoNames,
VariableMap prevUsedPropertyMap,
@Nullable char[] reservedCharacters) {
this.compiler = compiler;
this.generatePseudoNames = generatePseudoNames;
this.prevUsedPropertyMap = prevUsedPropertyMap;
this.reservedCharacters = reservedCharacters;
if (affinity) {
this.affinityGraph = LinkedUndirectedGraph.createWithoutAnnotations();
} else {
this.affinityGraph = null;
}
externedNames.addAll(compiler.getExternProperties());
}
示例15: testNoEdge
import com.google.javascript.jscomp.graph.LinkedUndirectedGraph; //导入依赖的package包/类
public void testNoEdge() {
Graph<String, String> graph = new LinkedUndirectedGraph<String, String>();
for (int i = 0; i < 5; i++) {
graph.createNode("Node " + i);
// All node with same color.
GraphColoring<String, String> coloring =
new GreedyGraphColoring<String, String>(graph);
assertEquals(1, coloring.color());
validateColoring(graph);
for (int j = 0; j < i; j++) {
assertEquals("Node 0", coloring.getPartitionSuperNode("Node 0"));
}
}
}