18        using Graph = Digraph<char, std::string>;
 
   21        BEAST_EXPECT(!graph.connected(
'a', 
'b'));
 
   22        BEAST_EXPECT(!graph.edge(
'a', 
'b'));
 
   23        BEAST_EXPECT(!graph.disconnect(
'a', 
'b'));
 
   25        BEAST_EXPECT(graph.connect(
'a', 
'b', 
"foobar"));
 
   26        BEAST_EXPECT(graph.connected(
'a', 
'b'));
 
   27        BEAST_EXPECT(*graph.edge(
'a', 
'b') == 
"foobar");
 
   29        BEAST_EXPECT(!graph.connect(
'a', 
'b', 
"repeat"));
 
   30        BEAST_EXPECT(graph.disconnect(
'a', 
'b'));
 
   31        BEAST_EXPECT(graph.connect(
'a', 
'b', 
"repeat"));
 
   32        BEAST_EXPECT(graph.connected(
'a', 
'b'));
 
   33        BEAST_EXPECT(*graph.edge(
'a', 
'b') == 
"repeat");
 
   35        BEAST_EXPECT(graph.connect(
'a', 
'c', 
"tree"));
 
   40            for (
auto const& edge : graph.outEdges(
'a'))
 
   48            BEAST_EXPECT(edges == expected);
 
   49            BEAST_EXPECT(graph.outDegree(
'a') == expected.
size());
 
   52        BEAST_EXPECT(graph.outEdges(
'r').size() == 0);
 
   53        BEAST_EXPECT(graph.outDegree(
'r') == 0);
 
   54        BEAST_EXPECT(graph.outDegree(
'c') == 0);
 
   57        BEAST_EXPECT(graph.outVertices().size() == 1);
 
   60        BEAST_EXPECT((graph.outVertices(
'a') == expected));
 
   61        BEAST_EXPECT(graph.outVertices(
'b').size() == 0);
 
   62        BEAST_EXPECT(graph.outVertices(
'c').size() == 0);
 
   63        BEAST_EXPECT(graph.outVertices(
'r').size() == 0);
 
   66        graph.saveDot(ss, [](
char v) { 
return v; });
 
   72        BEAST_EXPECT(ss.
str() == expectedDot);