diff --git a/FlexArray.Test/FlexArrayStringTests.cs b/FlexArray.Test/FlexArrayStringTests.cs index 89bf184..9b769be 100644 --- a/FlexArray.Test/FlexArrayStringTests.cs +++ b/FlexArray.Test/FlexArrayStringTests.cs @@ -130,4 +130,54 @@ public class FlexArrayStringTests array.Contains("!") .Should().BeFalse("not contained in list"); } + + // Indexer tests + [Fact] + public void Indexer_Simple() + { + var array = new FlexArrayString(); + array.Add("Goodbye World!"); + + array[0].Should().Be("Goodbye World!"); + } + + [Fact] + public void Indexer_Multiple() + { + var array = new FlexArrayString(); + for (var i = 0; i < 100; i++) + { + array.Add((i+1).ToString()); + } + + array[20].Should().Be("21"); + array[88].Should().Be("89"); + } + + [Theory] + [InlineData(-1, "negative index")] + [InlineData(2, "index too high")] + [InlineData(10, "index too high")] + public void Indexer_InvalidIndex(int index, string reason) + { + var array = new FlexArrayString(); + array.Add("Hello"); + + array[index].Should().Be(String.Empty, reason); + } + + [Fact] + public void Iterate() + { + var array = new FlexArrayString(); + for (var i = 0; i < 10; i++) + { + array.Add(i.ToString()); + } + + for (var i = 0; i < 10; i++) + { + array[i].Should().Be(i.ToString()); + } + } }