public void FromExistingGraph_CopiesElements()
        {
            var original = DirectedGraphBuilder <string> .NewBuilder()
                           .AddElement("element 1")
                           .AddElement("element 2")
                           .CreateGraph();

            var copyOfGraph = DirectedGraphBuilder <string> .FromExistingGraph(original).CreateGraph();

            copyOfGraph.Elements.Should().Contain(original.Elements);
        }
        public void FromExistingGraph_CopiesDirectPredecessors()
        {
            var original = DirectedGraphBuilder <string> .NewBuilder()
                           .AddElement("from")
                           .AddElement("to")
                           .AddArrow("from", "to")
                           .CreateGraph();

            var copyOfGraph = DirectedGraphBuilder <string> .FromExistingGraph(original).CreateGraph();

            copyOfGraph.GetDirectPredecessorsOf("to").Should().Contain("from");
        }