public void NeedleInHaystack()
        {
            Int32 expected, actual;

            expected = -1;
            actual   = _object.NeedleInHaystack(null, 0);
            Assert.AreEqual(expected, actual);

            expected = -1;
            actual   = _object.NeedleInHaystack(new int[0].ToEnumerable(), 2);
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = _object.NeedleInHaystack(new[] { 4, 5, 2, 8, 3, 7, 1 }.ToEnumerable(), 4);
            Assert.AreEqual(expected, actual);

            expected = 2;
            actual   = _object.NeedleInHaystack(new[] { 4, 5, 2, 8, 3, 7, 1 }.ToEnumerable(), 2);
            Assert.AreEqual(expected, actual);

            expected = 6;
            actual   = _object.NeedleInHaystack(new[] { 4, 5, 2, 8, 3, 7, 1 }.ToEnumerable(), 1);
            Assert.AreEqual(expected, actual);

            expected = -1;
            actual   = _object.NeedleInHaystack(new[] { 4, 5, 2, 8, 3, 7, 1 }.ToEnumerable(), 6);
            Assert.AreEqual(expected, actual);

            expected = -1;
            actual   = _object.NeedleInHaystack(new[] { 6 }.ToEnumerable(), 7);
            Assert.AreEqual(expected, actual);

            expected = 0;
            actual   = _object.NeedleInHaystack(new[] { 6 }.ToEnumerable(), 6);
            Assert.AreEqual(expected, actual);
        }