diff --git a/Shared/History.cs b/Shared/History.cs index a26f81c..d2c5cef 100644 --- a/Shared/History.cs +++ b/Shared/History.cs @@ -49,5 +49,14 @@ namespace SemiColinGames { return items[lookup]; } } + + // This creates and populates a new array. It's O(n) and should probably only be used for tests. + public T[] ToArray() { + T[] result = new T[items.Length]; + for (int i = 0; i < items.Length; i++) { + result[i] = this[i]; + } + return result; + } } } diff --git a/SharedTests/HistoryTests.cs b/SharedTests/HistoryTests.cs index c16b746..ec8891d 100644 --- a/SharedTests/HistoryTests.cs +++ b/SharedTests/HistoryTests.cs @@ -1,5 +1,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using System; +using System.Collections.Generic; namespace SemiColinGames.Tests { [TestClass] @@ -24,17 +25,17 @@ namespace SemiColinGames.Tests { [TestMethod] public void TestAdds() { var h = new History(3); - Assert.AreEqual("0 0 0", String.Format("{0} {1} {2}", h[0], h[1], h[2])); + Assert.AreEqual("0 0 0", String.Join(" ", h.ToArray())); h.Add(2); - Assert.AreEqual("2 0 0", String.Format("{0} {1} {2}", h[0], h[1], h[2])); + Assert.AreEqual("2 0 0", String.Join(" ", h.ToArray())); h.Add(3); h.Add(5); - Assert.AreEqual("5 3 2", String.Format("{0} {1} {2}", h[0], h[1], h[2])); + Assert.AreEqual("5 3 2", String.Join(" ", h.ToArray())); h.Add(7); - Assert.AreEqual("7 5 3", String.Format("{0} {1} {2}", h[0], h[1], h[2])); + Assert.AreEqual("7 5 3", String.Join(" ", h.ToArray())); h.Add(11); h.Add(13); - Assert.AreEqual("13 11 7", String.Format("{0} {1} {2}", h[0], h[1], h[2])); + Assert.AreEqual("13 11 7", String.Join(" ", h.ToArray())); } [TestMethod]