public void TestConstructors() { try { new IntegerField(-1); Assert.Fail("Should have caught IndexOutOfRangeException"); } catch (IndexOutOfRangeException) { // as expected } IntegerField field = new IntegerField(2); Assert.AreEqual(0, field.Value); try { new IntegerField(-1, 1); Assert.Fail("Should have caught IndexOutOfRangeException"); } catch (IndexOutOfRangeException) { // as expected } field = new IntegerField(2, 0x12345678); Assert.AreEqual(0x12345678, field.Value); byte[] array = new byte[6]; try { new IntegerField(-1, 1, array); Assert.Fail("Should have caught IndexOutOfRangeException"); } catch (IndexOutOfRangeException) { // as expected } field = new IntegerField(2, 0x12345678, array); Assert.AreEqual(0x12345678, field.Value); Assert.AreEqual(( byte )0x78, array[2]); Assert.AreEqual(( byte )0x56, array[3]); Assert.AreEqual(( byte )0x34, array[4]); Assert.AreEqual(( byte )0x12, array[5]); array = new byte[5]; try { new IntegerField(2, 5, array); Assert.Fail("should have gotten IndexOutOfRangeException"); } catch (IndexOutOfRangeException) { // as expected } for (int j = 0; j < _test_array.Length; j++) { array = new byte[4]; new IntegerField(0, _test_array[j], array); Assert.AreEqual(_test_array[j], new IntegerField(0, array).Value); } // same test as above, but using the static method for (int j = 0; j < _test_array.Length; j++) { array = new byte[4]; IntegerField.Write(0, _test_array[j], array); Assert.AreEqual(_test_array[j], new IntegerField(0, array).Value); } }