public void StandardFactory() { var graph = new BidirectionalGraph <int, Edge <int> >(); var verticesPositions = new Dictionary <int, Point>(); var verticesSizes = new Dictionary <int, Size>(); var context = new LayoutContext <int, Edge <int>, BidirectionalGraph <int, Edge <int> > >( graph, verticesPositions, verticesSizes, LayoutMode.Simple); var factory = new StandardEdgeRoutingAlgorithmFactory <int, Edge <int>, BidirectionalGraph <int, Edge <int> > >(); CollectionAssert.IsEmpty(factory.AlgorithmTypes); Assert.IsNull(factory.CreateAlgorithm( string.Empty, context, null)); Assert.IsNull(factory.CreateAlgorithm( string.Empty, context, new EdgeRoutingParameters())); Assert.IsNull(factory.CreateAlgorithm( "TestType", context, new EdgeRoutingParameters())); var parameters = new EdgeRoutingParameters(); IEdgeRoutingParameters createdParameters = factory.CreateParameters(string.Empty, null); Assert.IsInstanceOf <EdgeRoutingParameters>(createdParameters); Assert.AreNotSame(parameters, createdParameters); createdParameters = factory.CreateParameters(string.Empty, null); Assert.IsInstanceOf <EdgeRoutingParameters>(createdParameters); Assert.AreNotSame(parameters, createdParameters); createdParameters = factory.CreateParameters("TestType", null); Assert.IsInstanceOf <EdgeRoutingParameters>(createdParameters); Assert.AreNotSame(parameters, createdParameters); createdParameters = factory.CreateParameters("TestType", null); Assert.IsInstanceOf <EdgeRoutingParameters>(createdParameters); Assert.AreNotSame(parameters, createdParameters); Assert.IsFalse(factory.IsValidAlgorithm(null)); Assert.IsFalse(factory.IsValidAlgorithm(string.Empty)); Assert.IsFalse(factory.IsValidAlgorithm("TestType")); var algorithm = new TestEdgeRoutingAlgorithm(graph, verticesPositions); Assert.IsEmpty(factory.GetAlgorithmType(algorithm)); }
public void Constructor() { var graph = new AdjacencyGraph <int, Edge <int> >(); var verticesPositions = new Dictionary <int, Point>(); var algorithm = new TestEdgeRoutingAlgorithm(graph, verticesPositions); AssertAlgorithmProperties(algorithm, graph); #region Local function void AssertAlgorithmProperties( TestEdgeRoutingAlgorithm algo, AdjacencyGraph <int, Edge <int> > g) { AssertAlgorithmState(algo, g); Assert.IsNotNull(algo.EdgeRoutes); } #endregion }