Added Tests. Added Contains method

This commit is contained in:
MarcUs7i 2024-11-27 17:30:10 +01:00
parent a032e495cf
commit 5b429b82fa
2 changed files with 67 additions and 2 deletions

View file

@ -83,4 +83,51 @@ public class FlexArrayStringTests
array.Capacity.Should().BeGreaterThan(FlexArrayString.DefaultStartSize, "capacity exceeded, had to grow");
array.Count.Should().Be(FlexArrayString.DefaultStartSize + 2);
}
// Contains tests
[Fact]
public void Contains_Success()
{
var array = new FlexArrayString();
array.Add("Goodbye");
array.Add("World");
array.Add("!");
array.Add("bye...");
array.Contains("!")
.Should().BeTrue();
}
[Fact]
public void Contains_Success_AfterGrowth()
{
var array = new FlexArrayString();
for (var i = 0; i <= FlexArrayString.DefaultStartSize; i++)
{
array.Add(i.ToString());
}
array.Contains(array[FlexArrayString.DefaultStartSize - 1])
.Should().BeTrue();
}
[Fact]
public void Contains_Empty()
{
var array = new FlexArrayString();
array.Contains("Hi!")
.Should().BeFalse("collection is empty");
}
[Fact]
public void Contains_NotFound()
{
var array = new FlexArrayString();
array.Add("Hello");
array.Add("World");
array.Contains("!")
.Should().BeFalse("not contained in list");
}
}

View file

@ -28,14 +28,32 @@ public class FlexArrayString
_data = new string[size];
}
public void Add(string input)
public void Add(string value)
{
if (Capacity == Count)
{
Grow();
}
_data[Count++] = input;
_data[Count++] = value;
}
public bool Contains(string value)
{
if (Count == 0)
{
return false;
}
for (var i = 0; i < Count; i++)
{
if (_data[i] == value)
{
return true;
}
}
return false;
}
private void Grow()