public void AllIndexesOfIntArrayTest()
        {
            var source = new[] { 1, 2, 2, 4, 4, 2, 7, 2, 3, 1 };

            var expected = new[] { 1, 2, 5, 7 };
            Assert.AreEqual(expected, source.AllIndexesOf(2));

            expected = new[] { 6 };
            Assert.AreEqual(expected, source.AllIndexesOf(7));

            expected = new int[0];
            Assert.AreEqual(expected, source.AllIndexesOf(11));
        }
        public void AllIndexesOfTest()
        {
            var source = new[] { "a", "test", "a", "aa", "test", "test", "c" };

            var expected = new[] { 0, 2 };
            Assert.AreEqual(expected, source.AllIndexesOf("a"));

            expected = new[] { 6 };
            Assert.AreEqual(expected, source.AllIndexesOf("c"));

            expected = new[] { 1, 4, 5 };
            Assert.AreEqual(expected, source.AllIndexesOf("test"));

            expected = new int[0];
            Assert.AreEqual(expected, source.AllIndexesOf("another test"));
        }