From e2d1d47beb294563f8e6317127d9f78ab1b62465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Capelle?= Date: Wed, 21 Mar 2018 11:13:01 +0100 Subject: [PATCH] Fix Path.size() and add test for Path.size(). --- src/main/org/insa/graph/Path.java | 2 +- src/test/org/insa/graph/PathTest.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/org/insa/graph/Path.java b/src/main/org/insa/graph/Path.java index 22e7a1f..d2c81a1 100644 --- a/src/main/org/insa/graph/Path.java +++ b/src/main/org/insa/graph/Path.java @@ -176,7 +176,7 @@ public class Path { * @return Number of nodes in this path. */ public int size() { - return 1 + this.arcs.size(); + return isEmpty() ? 0 : 1 + this.arcs.size(); } /** diff --git a/src/test/org/insa/graph/PathTest.java b/src/test/org/insa/graph/PathTest.java index 52ab860..e9b686a 100644 --- a/src/test/org/insa/graph/PathTest.java +++ b/src/test/org/insa/graph/PathTest.java @@ -93,6 +93,16 @@ public class PathTest { assertFalse(longLoopPath.isEmpty()); assertFalse(invalidPath.isEmpty()); } + + @Test + public void testSize() { + assertEquals(emptyPath.size(), 0); + assertEquals(singleNodePath.size(), 1); + assertEquals(shortPath.size(), 4); + assertEquals(longPath.size(), 5); + assertEquals(loopPath.size(), 5); + assertEquals(longLoopPath.size(), 10); + } @Test public void testIsValid() {