public void TestSeqOfBoundedSeq() { byte[] innerSeqLengthOk = new byte[] { 1, 2, 3 }; byte[][] arg = new byte[20][]; for (int i = 0; i < arg.Length; i++) { arg[i] = innerSeqLengthOk; } byte[][] result = m_testService.EchoUuids(arg); Assert.IsNotNull(result); Assert.AreEqual(arg.Length, result.Length); for (int i = 0; i < result.Length; i++) { Assert.AreEqual(arg[i].Length, result[i].Length); for (int j = 0; j < result[i].Length; j++) { Assert.AreEqual(arg[i][j], result[i][j]); } } // too long test: byte[] innerSeqLengthTooBig = new byte[20]; byte[][] argNotOk = new byte[10][]; for (int i = 0; i < argNotOk.Length; i++) { argNotOk[i] = innerSeqLengthTooBig; } try { byte[][] result2 = m_testService.EchoUuids(argNotOk); Assert.Fail("expected BAD_PARAM exception, because sequence too long, but not thrown"); } catch (BAD_PARAM badParamE) { Assert.AreEqual(badParamE.Minor, 3434); } }