public void ShouldConstructWithSixInputFloats()
        {
            var acceleratedArray = new HarewareAcceleratedArray<float>(sixFloats);

            Assert.AreEqual(sixFloats[0], acceleratedArray[0]);
            Assert.AreEqual(sixFloats[1], acceleratedArray[1]);
            Assert.AreEqual(sixFloats[2], acceleratedArray[2]);
            Assert.AreEqual(sixFloats[3], acceleratedArray[3]);
            Assert.AreEqual(sixFloats[4], acceleratedArray[4]);
            Assert.AreEqual(sixFloats[5], acceleratedArray[5]);
        }
        public void ShouldAddArrays()
        {
            var one = new HarewareAcceleratedArray<float>(tenFloats);
            var two = new HarewareAcceleratedArray<float>(tenFloats);

            var three = one + two;
            Assert.AreEqual(tenFloats[0] + tenFloats[0], three[0]);
            Assert.AreEqual(tenFloats[1] + tenFloats[1], three[1]);
            Assert.AreEqual(tenFloats[2] + tenFloats[2], three[2]);
            Assert.AreEqual(tenFloats[3] + tenFloats[3], three[3]);
            Assert.AreEqual(tenFloats[4] + tenFloats[4], three[4]);
            Assert.AreEqual(tenFloats[5] + tenFloats[5], three[5]);
            Assert.AreEqual(tenFloats[6] + tenFloats[6], three[6]);
            Assert.AreEqual(tenFloats[7] + tenFloats[7], three[7]);
            Assert.AreEqual(tenFloats[8] + tenFloats[8], three[8]);
            Assert.AreEqual(tenFloats[9] + tenFloats[9], three[9]);
        }
        public void ShouldConstructWithTenInputFloats()
        {
            var acceleratedArray = new HarewareAcceleratedArray<float>(tenFloats);

            Assert.AreEqual(tenFloats[0], acceleratedArray[0]);
            Assert.AreEqual(tenFloats[1], acceleratedArray[1]);
            Assert.AreEqual(tenFloats[2], acceleratedArray[2]);
            Assert.AreEqual(tenFloats[3], acceleratedArray[3]);
            Assert.AreEqual(tenFloats[4], acceleratedArray[4]);
            Assert.AreEqual(tenFloats[5], acceleratedArray[5]);
            Assert.AreEqual(tenFloats[6], acceleratedArray[6]);
            Assert.AreEqual(tenFloats[7], acceleratedArray[7]);
            Assert.AreEqual(tenFloats[8], acceleratedArray[8]);
            Assert.AreEqual(tenFloats[9], acceleratedArray[9]);
        }
        public void ShouldThrowOutOfRange()
        {
            var acceleratedArray = new HarewareAcceleratedArray<float>(tenFloats);

            float x;
            Assert.Throws<ArgumentOutOfRangeException>(() => x = acceleratedArray[-1]);
            Assert.Throws<ArgumentOutOfRangeException>(() => x = acceleratedArray[10]);
        }