| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using System.Collections.Generic;
- using NUnit.Framework;
- namespace MonoTests.Common
- {
- delegate void AssertThrowsDelegate();
- static class AssertExtensions
- {
- public static void AreEqual (byte[] expected, byte[] data, string message)
- {
- if (expected == null) {
- if (data == null)
- return;
- Assert.Fail ("{0}{1}Expected: null{1}Got: byte array with {2} elements and of rank {3}{1}",
- message, Environment.NewLine, data.Length, data.Rank);
- }
- if (data == null)
- Assert.Fail ("{0}{1}Expected: byte array with {2} elements and rank {3}{1}Got: null{1}",
- message, Environment.NewLine, expected.Length, expected.Rank);
- if (expected.Rank > 1)
- Assert.Fail ("Only single-dimensional arrays are supported.");
- if (expected.Rank != data.Rank || expected.Length != data.Length)
- Assert.Fail ("{0}{1}Expected: byte array with {2} elements and rank {3}{1}Got: byte array with {4} elements and rank {5}{1}",
- message, Environment.NewLine, expected.Length, expected.Rank, data.Length, data.Rank);
- int max = expected.Length;
- for (int i = 0; i < max; i++) {
- if (expected[i] != data[i])
- Assert.Fail ("{0}{1}Arrays differ at index {2}.{1}Expected 0x{3:X} got 0x{4:X}{1}",
- message, Environment.NewLine, i, expected[i], data[i]);
- }
- }
- public static void Throws<ET> (AssertThrowsDelegate code, string message)
- {
- Throws(typeof(ET), code, message);
- }
- public static void Throws(Type exceptionType, AssertThrowsDelegate code, string message)
- {
- if (code == null)
- Assert.Fail("No code provided for the test.");
- Exception exception = null;
- try
- {
- code();
- }
- catch (Exception ex)
- {
- exception = ex;
- }
- if (exceptionType == null)
- {
- if (exception == null)
- Assert.Fail("{0}{1}Expected: any exception thrown{1}But was: no exception thrown{1}",
- message, Environment.NewLine);
- return;
- }
- if (exception == null || exception.GetType() != exceptionType)
- Assert.Fail("{0}{1}Expected: {2}{1}But was: {3}{1}{4}{1}",
- message,
- Environment.NewLine,
- exceptionType,
- exception == null ? "no exception" : exception.GetType().ToString(),
- exception == null ? "no exception" : exception.ToString());
- }
- public static void Throws(AssertThrowsDelegate code, string message)
- {
- Throws(null, code, message);
- }
- }
- }
|