sneak/SharedTests/HistoryTests.cs
Colin McMillen ae8fa0d21d Revert "Add .gitignore and .gitattributes."
This reverts commit 5c9f574644ecd78b112ea857d658f670ef4773e3.

GitOrigin-RevId: 277054282d105e4a5f185ac51983581c89b8a031
2020-02-13 14:50:24 -05:00

49 lines
1.3 KiB
C#

using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
namespace SemiColinGames.Tests {
[TestClass]
public class HistoryTests {
[TestMethod]
public void TestLength() {
var h = new History<int>(3);
Assert.AreEqual(3, h.Length);
}
[TestMethod]
public void TestGetFromEmpty() {
var ints = new History<int>(3);
Assert.AreEqual(0, ints[0]);
Assert.AreEqual(0, ints[1]);
Assert.AreEqual(0, ints[2]);
var objects = new History<Object>(1);
Assert.AreEqual(null, objects[0]);
}
[TestMethod]
public void TestAdds() {
var h = new History<int>(3);
Assert.AreEqual("0 0 0", String.Join(" ", h.ToArray()));
h.Add(2);
Assert.AreEqual("2 0 0", String.Join(" ", h.ToArray()));
h.Add(3);
h.Add(5);
Assert.AreEqual("5 3 2", String.Join(" ", h.ToArray()));
h.Add(7);
Assert.AreEqual("7 5 3", String.Join(" ", h.ToArray()));
h.Add(11);
h.Add(13);
Assert.AreEqual("13 11 7", String.Join(" ", h.ToArray()));
}
[TestMethod]
public void TestThrowsExceptions() {
var h = new History<int>(3);
Assert.ThrowsException<IndexOutOfRangeException>(() => h[-1]);
Assert.ThrowsException<IndexOutOfRangeException>(() => h[3]);
}
}
}