foobar:
Por ejemplo, tengo una gráfica siguiente que muestra me probar una profundidad primero. Quiero tratar de hacer mis pruebas en las que simplemente tengo un gráfico ya se hizo, a continuación, hago diferentes casos de prueba para ese gráfico. Pero por el momento me parece estar haciendo un nuevo gráfico en cada prueba método que marca
@Test
void willItDepthFirst(){
DepthFirstTraversal b = new DepthFirstTraversal();
b.add(1);//add node
b.add(0);
b.add(2);
b.add(3);
b.add(4);
b.add(0,1);//connect nodes with edges
b.add(1,2);
b.add(2,3);
b.add(0,4);
List<Integer> result = b.traverse();
List<Integer> expected = Arrays.asList(0,1,4,2,3);
assertEquals(expected, result);
}
Esto es un poco la idea de lo que quiero:
@Test
void graphToBeTested(){
DepthFirstTraversal b = new DepthFirstTraversal();
b.add(1);//add node
b.add(0);
b.add(2);
b.add(3);
b.add(4);
b.add(0,1);//connect nodes with edges
b.add(1,2);
b.add(2,3);
b.add(0,4);
}
@Test
void testCase1(){
List<Integer> result = graphToBeTested().traverse();
List<Integer> expected = Arrays.asList(0,1,4,2,3);
assertEquals(expected, result);
}
Mureinik:
Suponiendo que sus pruebas no es necesario modificar el gráfico, se puede guardar en un miembro estático y configurarlo en un @BeforeAll
método:
private static DepthFirstTraversal graph;
@BeforeAll
public static void setUpGraph() {
graph = new DepthFirstTraversal();
graph.add(1); //add node
graph.add(0);
graph.add(2);
graph.add(3);
graph.add(4);
graph.add(0,1); //connect nodes with edges
graph.add(1,2);
graph.add(2,3);
graph.add(0,4);
}
@Test
void testCase1(){
List<Integer> result = graph.traverse();
List<Integer> expected = Arrays.asList(0,1,4,2,3);
assertEquals(expected, result);
}