Пример #1
0
 protected ArrowGraphBuilderBase(
     Graph <T, TActivity, TEvent> graph,
     Func <T> edgeIdGenerator,
     Func <T> nodeIdGenerator,
     Func <T, TEvent> eventGenerator)
     : base(graph, edgeIdGenerator, nodeIdGenerator, eventGenerator)
 {
     // Check Start and End nodes.
     if (StartNodes.Count() == 1)
     {
         StartNode = StartNodes.First();
     }
     else
     {
         throw new ArgumentException(Properties.Resources.ArrowGraphContainsMoreThanOneStartNode);
     }
     if (EndNodes.Count() == 1)
     {
         EndNode = EndNodes.First();
     }
     else
     {
         throw new ArgumentException(Properties.Resources.ArrowGraphContainsMoreThanOneEndNode);
     }
 }
Пример #2
0
 public VertexGraphBuilder(
     Graph <T, IEvent <T>, TActivity> graph,
     Func <T> edgeIdGenerator,
     Func <T> nodeIdGenerator)
     : base(
         graph,
         edgeIdGenerator,
         nodeIdGenerator,
         s_EventGenerator)
 {
     if (NormalNodes.Any())
     {
         // Check Start and End nodes.
         if (!StartNodes.Any())
         {
             throw new ArgumentException(Properties.Resources.VertexGraphCannotContainNormalNodesWithoutAnyStartNodes);
         }
         if (!EndNodes.Any())
         {
             throw new ArgumentException(Properties.Resources.VertexGraphCannotContainNormalNodesWithoutAnyEndNodes);
         }
     }
 }