public void LoadAllTSP() { var tspLib = new TspLib95(RootDir); tspLib.LoadAllTSP(); var items = tspLib.TSPItems(); Assert.AreEqual(Enumerable.Count(items), 112); }
/// <summary> /// Constructor. /// </summary> /// <param name="tspLibPath">The directory path to the TSPLIB95 library.</param> /// <exception cref="ArgumentOutOfRangeException">Thrown if no TspLib95Items were loaded.</exception> public SymmetricTspItemLoader(string tspLibPath) { try { var tspLib = new TspLib95(tspLibPath); var items = tspLib.LoadAllTSP(); const int maxNodes = 100; var nodeType = typeof(Node2D); _tspLibItems = (from i in items let nodes = i.Problem.NodeProvider.GetNodes() where nodes.Count <= maxNodes where nodes.All(n => n.GetType() == nodeType) select i).ToList(); ProblemNames = _tspLibItems.Select(i => i.Problem.Name).ToList(); } catch (Exception e) { throw new ArgumentOutOfRangeException($"No TspLib95Items were loaded for path: '{tspLibPath}'", e); } }
public void GetItemByInvalidName() { var tspLib = new TspLib95(RootDir); tspLib.LoadAllTSP(); Assert.IsNull(tspLib.GetItemByName("bob", ProblemType.TSP)); Assert.IsNull(tspLib.GetItemByName("", ProblemType.TSP)); Assert.IsNull(tspLib.GetItemByName(" ", ProblemType.TSP)); }