diff --git a/collections-lists/ArrayListVsList/ArrayListVsList/ArrayListVsList.csproj b/collections-lists/ArrayListVsList/ArrayListVsList/ArrayListVsList.csproj
index 6b41fab780..91deb170c0 100644
--- a/collections-lists/ArrayListVsList/ArrayListVsList/ArrayListVsList.csproj
+++ b/collections-lists/ArrayListVsList/ArrayListVsList/ArrayListVsList.csproj
@@ -2,7 +2,7 @@
Exe
- net7.0
+ net10.0
enable
enable
diff --git a/collections-lists/ArrayListVsList/ArrayListVsList/Collection.cs b/collections-lists/ArrayListVsList/ArrayListVsList/Collection.cs
index b864bea4a5..278a5351e3 100644
--- a/collections-lists/ArrayListVsList/ArrayListVsList/Collection.cs
+++ b/collections-lists/ArrayListVsList/ArrayListVsList/Collection.cs
@@ -33,6 +33,12 @@ public int GetSum(ArrayList arrayList)
return Sum;
}
+ public ArrayList MixedTypes { get; set; } = new() { 1, "two", DateTime.Now };
+
+ public int ReadFirstAsInt() => (int)MixedTypes[0]!;
+
+ public int ReadSecondAsInt() => (int)MixedTypes[1]!;
+
public void ListExample()
{
Sum = 0;
diff --git a/collections-lists/ArrayListVsList/Tests/Test.cs b/collections-lists/ArrayListVsList/Tests/Test.cs
index 71d4e16838..f6b3757471 100644
--- a/collections-lists/ArrayListVsList/Tests/Test.cs
+++ b/collections-lists/ArrayListVsList/Tests/Test.cs
@@ -29,6 +29,22 @@ public void WhenValidObjectsAddedToList_ThenSumSuccessful()
Assert.Equal(expectedResult, _collection.Sum);
}
+ [Fact]
+ public void WhenMixedTypeArrayListReadWithMatchingCast_ThenValueReturned()
+ {
+ var expectedResult = 1;
+
+ var actualResult = _collection.ReadFirstAsInt();
+
+ Assert.Equal(expectedResult, actualResult);
+ }
+
+ [Fact]
+ public void WhenMixedTypeArrayListReadWithWrongCast_ThenInvalidCastExceptionThrown()
+ {
+ Assert.Throws(() => _collection.ReadSecondAsInt());
+ }
+
[Fact]
public void WhenInvalidObjectsAddedToArrayList_ThenSumFail()
{
diff --git a/collections-lists/ArrayListVsList/Tests/Tests.csproj b/collections-lists/ArrayListVsList/Tests/Tests.csproj
index 5931c8d235..0c99143a68 100644
--- a/collections-lists/ArrayListVsList/Tests/Tests.csproj
+++ b/collections-lists/ArrayListVsList/Tests/Tests.csproj
@@ -1,7 +1,7 @@
- net7.0
+ net10.0
enable
enable