using AutoFixture; using FluentAssertions; using FluentAssertions.Execution; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; namespace Gameboard.ShogiUI.UnitTests.PathFinding { [TestClass] public class PlanarCollectionShould { [TestMethod] public void Index() { // Arrange var collection = new TestPlanarCollection(); var expected1 = new SimpleElement(1); var expected2 = new SimpleElement(2); // Act collection[0, 0] = expected1; collection[2, 1] = expected2; // Assert collection[0, 0].Should().Be(expected1); collection[2, 1].Should().Be(expected2); } [TestMethod] public void Iterate() { // Arrange var planarCollection = new TestPlanarCollection(); planarCollection[0, 0] = new SimpleElement(1); planarCollection[0, 1] = new SimpleElement(2); planarCollection[0, 2] = new SimpleElement(3); planarCollection[1, 0] = new SimpleElement(4); planarCollection[1, 1] = new SimpleElement(5); // Act var actual = new List(); foreach (var elem in planarCollection) actual.Add(elem); // Assert using (new AssertionScope()) { actual[0].Number.Should().Be(1); actual[1].Number.Should().Be(2); actual[2].Number.Should().Be(3); actual[3].Number.Should().Be(4); actual[4].Number.Should().Be(5); } } } }