Ejemplo n.º 1
0
        public void Test_GetUInt32()
        {
            ByteArrayType data;
            FileStream    file;

            file = new FileStream(TestHelper.DataTypeTestsFile, FileMode.Open);
            data = new ByteArrayType(0, 6);
            data.Read(file, 0);

            /*
             * Test retrieval of UInt32 value from byte array
             */
            Assert.AreEqual((UInt32)0x05060708, data.GetUInt32(0));

            /*
             * Test retrieval of UInt32 using an offset
             */
            Assert.AreEqual((UInt32)0x03040506, data.GetUInt32(2));

            /*
             * Test when offset is 2 bytes away from end of array
             */
            try
            {
                data.GetUInt32(4);

                /* Fail if this is reached */
                Assert.AreEqual(0, 1);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                /* Pass if this exception was raised */
                Assert.AreEqual(1, 1);
            }

            /*
             * Test when offset is outside bounds of array
             */
            try
            {
                data.GetUInt32(8);

                /* Fail if this is reached */
                Assert.AreEqual(0, 1);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                /* Pass if this exception was raised */
                Assert.AreEqual(1, 1);
            }

            file.Close();
        }
Ejemplo n.º 2
0
        public async Task GetUInt32_ValidOffset_ValueReturned()
        {
            var fs = TestHelpers.CreateDataTypesTestFileSystem();

            using (var file = fs.File.OpenRead(TestHelpers.DataTypesTestFilePath))
            {
                var data = new ByteArrayType(0, 6);
                await data.ReadAsync(file, 0, new NefsProgress());

                Assert.Equal((UInt32)0x03040506, data.GetUInt32(2));
            }
        }
Ejemplo n.º 3
0
        public async Task GetUInt32_OffsetOutOfBounds_ArgumentOutOfRangeExceptionThrown()
        {
            var fs = TestHelpers.CreateDataTypesTestFileSystem();

            using (var file = fs.File.OpenRead(TestHelpers.DataTypesTestFilePath))
            {
                var data = new ByteArrayType(0, 6);
                await data.ReadAsync(file, 0, new NefsProgress());

                // Offset is outside the bounds of the array
                Assert.Throws <ArgumentOutOfRangeException>(() => data.GetUInt32(8));
            }
        }
Ejemplo n.º 4
0
        public async Task GetUInt32_OffsetTwoBytesFromEnd_ArgumentOutOfRangeExceptionThrown()
        {
            var fs = TestHelpers.CreateDataTypesTestFileSystem();

            using (var file = fs.File.OpenRead(TestHelpers.DataTypesTestFilePath))
            {
                var data = new ByteArrayType(0, 6);
                await data.ReadAsync(file, 0, new NefsProgress());

                // Offset is 2 bytes away from end of array
                Assert.Throws <ArgumentOutOfRangeException>(() => data.GetUInt32(4));
            }
        }