From 3d55619bcb624c00a6131a6c7d6a13e894d338c4 Mon Sep 17 00:00:00 2001
From: Paul Nitzke <14367-paulenit@users.noreply.git.rwth-aachen.de>
Date: Mon, 27 Jun 2022 12:45:04 +0200
Subject: [PATCH] Make adjacency node count attribute

Same reason as for 5fd5ce0ac5fb3a8928af9ec6674d001811d17d6e
---
 .../DataStructures/AdjacencyGraphTests.cs     |  8 ++++----
 src/SparseTransform/Colorer.cs                |  2 +-
 .../DataStructures/AdjacencyGraph.cs          | 20 ++++++++++---------
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs
index 7d2c290..526257a 100644
--- a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs
+++ b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs
@@ -10,7 +10,7 @@ public class AdjacencyGraphTests
     public void AdjacencyGraphStartsEmpty()
     {
         AdjacencyGraph graph = new AdjacencyGraph();
-        Assert.That(graph.GetNodeCount(), Is.EqualTo(0));
+        Assert.That(graph.NodeCount, Is.EqualTo(0));
     }
 
     [Test]
@@ -18,7 +18,7 @@ public class AdjacencyGraphTests
     {
         AdjacencyGraph graph = new AdjacencyGraph();
         graph.AddEdge(0, 1);
-        Assert.That(graph.GetNodeCount(), Is.EqualTo(2));
+        Assert.That(graph.NodeCount, Is.EqualTo(2));
         GraphNode[] nodes = Enumerable.ToArray(graph.GetNodes());
         Assert.That(nodes[0], Is.Not.EqualTo(nodes[1]));
     }
@@ -29,7 +29,7 @@ public class AdjacencyGraphTests
         AdjacencyGraph graph = new AdjacencyGraph();
         graph.AddEdge(0, 1);
         graph.AddEdge(0, 2);
-        Assert.That(graph.GetNodeCount(), Is.EqualTo(3));
+        Assert.That(graph.NodeCount, Is.EqualTo(3));
     }
 
     [Test]
@@ -39,7 +39,7 @@ public class AdjacencyGraphTests
         graph.AddEdge(0, 1);
         graph.AddEdge(0, 2);
         graph.AddEdge(1, 2);
-        Assert.That(graph.GetNodeCount(), Is.EqualTo(3));
+        Assert.That(graph.NodeCount, Is.EqualTo(3));
     }
 
     [Test]
diff --git a/src/SparseTransform/Colorer.cs b/src/SparseTransform/Colorer.cs
index 6307627..576efa3 100644
--- a/src/SparseTransform/Colorer.cs
+++ b/src/SparseTransform/Colorer.cs
@@ -58,7 +58,7 @@ namespace SparseTransform
         public bool StarColor1(AdjacencyGraph graph)
         {
             // Exact length defined in paper
-            int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.GetNodeCount())];
+            int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.NodeCount)];
             // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0)
             Array.Fill(forbiddenColors, -1);
             foreach (GraphNode v_i in graph.GetNodes())
diff --git a/src/SparseTransform/DataStructures/AdjacencyGraph.cs b/src/SparseTransform/DataStructures/AdjacencyGraph.cs
index bbf98db..f40403b 100644
--- a/src/SparseTransform/DataStructures/AdjacencyGraph.cs
+++ b/src/SparseTransform/DataStructures/AdjacencyGraph.cs
@@ -13,6 +13,17 @@ namespace SparseTransform.DataStructures
         /// </remarks>
         private List<GraphNode> _nodes;
 
+        /// <summary>
+        /// Number of nodes
+        /// </summary>
+        public int NodeCount
+        {
+            get
+            {
+                return _nodes.Count;
+            }
+        }
+
         private int _maxDegree = 0;
         /// <summary>
         /// Get the degree of the node with most neighbors.
@@ -117,15 +128,6 @@ namespace SparseTransform.DataStructures
             return nodes as IEnumerable<GraphNode>;
         }
 
-        /// <summary>
-        /// Get number of nodes
-        /// </summary>
-        /// <returns>number of nodes</returns>
-        public int GetNodeCount()
-        {
-            return _nodes.Count;
-        }
-
         /// <summary>
         /// Finds a node by index. Returns null if not found.
         /// </summary>
-- 
GitLab