|
1 | 1 | using System; |
| 2 | +using System.Collections.Generic; |
2 | 3 | using System.Linq; |
3 | 4 |
|
4 | 5 | using CodeJam.Strings; |
@@ -123,5 +124,53 @@ public void IsLastForEmptyCollections() |
123 | 124 | Assert.IsFalse(enSrc.IsLast("C", null), "#A07"); |
124 | 125 | Assert.IsFalse(enSrc.IsLast("C", StringComparer.OrdinalIgnoreCase), "#A08"); |
125 | 126 | } |
| 127 | + |
| 128 | + [Test] |
| 129 | + public void DeconstructArray() |
| 130 | + { |
| 131 | + var array = new[] { 1, 2, 3, 4, 5 }; |
| 132 | + Assert.IsTrue(array is (1, _, _, _, _)); |
| 133 | + Assert.IsFalse(array is (2, _, _, _, _)); |
| 134 | + Assert.IsTrue(array is (_, _, 3, _, _)); |
| 135 | + Assert.IsFalse(array is (_, _, 5, _, _)); |
| 136 | + Assert.IsTrue(array is (1, _, 3, _, _)); |
| 137 | + Assert.IsFalse(array is (1, _, 5, _, _)); |
| 138 | + Assert.IsTrue(array is (1, 2, 3, 4, 5)); |
| 139 | + Assert.IsFalse(array is (1, 2, 3, 6, 5)); |
| 140 | + } |
| 141 | + |
| 142 | + [Test] |
| 143 | + public void DeconstructList() |
| 144 | + { |
| 145 | + IList<int> array = new[] { 1, 2, 3, 4, 5 }; |
| 146 | + Assert.IsTrue(array is (1, _, _, _, _)); |
| 147 | + Assert.IsFalse(array is (2, _, _, _, _)); |
| 148 | + Assert.IsTrue(array is (_, _, 3, _, _)); |
| 149 | + Assert.IsFalse(array is (_, _, 5, _, _)); |
| 150 | + Assert.IsTrue(array is (1, _, 3, _, _)); |
| 151 | + Assert.IsFalse(array is (1, _, 5, _, _)); |
| 152 | + Assert.IsTrue(array is (1, 2, 3, 4, 5)); |
| 153 | + Assert.IsFalse(array is (1, 2, 3, 6, 5)); |
| 154 | + } |
| 155 | + |
| 156 | + [Test] |
| 157 | + public void DeconstructEnumerable() |
| 158 | + { |
| 159 | + IEnumerable<int> array = new[] { 1, 2, 3, 4, 5 }; |
| 160 | + Assert.IsTrue(array is (1, _, _, _, _)); |
| 161 | + Assert.IsFalse(array is (2, _, _, _, _)); |
| 162 | + Assert.IsTrue(array is (_, _, 3, _, _)); |
| 163 | + Assert.IsFalse(array is (_, _, 5, _, _)); |
| 164 | + Assert.IsTrue(array is (1, _, 3, _, _)); |
| 165 | + Assert.IsFalse(array is (1, _, 5, _, _)); |
| 166 | + Assert.IsTrue(array is (1, 2, 3, 4, 5)); |
| 167 | + Assert.IsFalse(array is (1, 2, 3, 6, 5)); |
| 168 | + |
| 169 | + Assert.Throws<ArgumentException>( |
| 170 | + () => |
| 171 | + { |
| 172 | + var b = array is (1, _, _, _, _, _); |
| 173 | + }); |
| 174 | + } |
126 | 175 | } |
127 | 176 | } |
0 commit comments