Added Tests. Added Contains method
This commit is contained in:
parent
a032e495cf
commit
5b429b82fa
2 changed files with 67 additions and 2 deletions
|
|
@ -83,4 +83,51 @@ public class FlexArrayStringTests
|
||||||
array.Capacity.Should().BeGreaterThan(FlexArrayString.DefaultStartSize, "capacity exceeded, had to grow");
|
array.Capacity.Should().BeGreaterThan(FlexArrayString.DefaultStartSize, "capacity exceeded, had to grow");
|
||||||
array.Count.Should().Be(FlexArrayString.DefaultStartSize + 2);
|
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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,14 +28,32 @@ public class FlexArrayString
|
||||||
_data = new string[size];
|
_data = new string[size];
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Add(string input)
|
public void Add(string value)
|
||||||
{
|
{
|
||||||
if (Capacity == Count)
|
if (Capacity == Count)
|
||||||
{
|
{
|
||||||
Grow();
|
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()
|
private void Grow()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue