public void StandardFactory_Throws() { 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> > >(); // ReSharper disable ReturnValueOfPureMethodIsNotUsed // ReSharper disable AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>( () => factory.CreateAlgorithm(null, context, null)); Assert.Throws <ArgumentNullException>( () => factory.CreateAlgorithm(string.Empty, null, null)); Assert.Throws <ArgumentNullException>( () => factory.CreateAlgorithm(null, null, null)); Assert.Throws <ArgumentNullException>( () => factory.CreateParameters(null, new EdgeRoutingParameters())); Assert.Throws <ArgumentNullException>( () => factory.CreateParameters(null, null)); Assert.Throws <ArgumentNullException>(() => factory.GetAlgorithmType(null)); // ReSharper restore AssignNullToNotNullAttribute // ReSharper restore ReturnValueOfPureMethodIsNotUsed }
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)); }