PageRenderTime 42ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/Main/src/DynamicDataDisplay/Common/Auxiliary/DebugVerify.cs

#
C# | 59 lines | 53 code | 6 blank | 0 comment | 3 complexity | d4405a1d4b8d4c522399f3a1c14684d6 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Diagnostics;
  6. using System.Windows;
  7. namespace Microsoft.Research.DynamicDataDisplay.Common.Auxiliary
  8. {
  9. internal static class DebugVerify
  10. {
  11. [Conditional("DEBUG")]
  12. [DebuggerStepThrough]
  13. public static void Is(bool condition)
  14. {
  15. if (!condition)
  16. {
  17. throw new ArgumentException(Strings.Exceptions.AssertionFailed);
  18. }
  19. }
  20. [Conditional("DEBUG")]
  21. [DebuggerStepThrough]
  22. public static void IsNotNaN(double d)
  23. {
  24. DebugVerify.Is(!Double.IsNaN(d));
  25. }
  26. [Conditional("DEBUG")]
  27. [DebuggerStepThrough]
  28. public static void IsNotNaN(Vector vec)
  29. {
  30. DebugVerify.IsNotNaN(vec.X);
  31. DebugVerify.IsNotNaN(vec.Y);
  32. }
  33. [Conditional("DEBUG")]
  34. [DebuggerStepThrough]
  35. public static void IsNotNaN(Point point)
  36. {
  37. DebugVerify.IsNotNaN(point.X);
  38. DebugVerify.IsNotNaN(point.Y);
  39. }
  40. [Conditional("DEBUG")]
  41. [DebuggerStepThrough]
  42. public static void IsFinite(double d)
  43. {
  44. DebugVerify.Is(!Double.IsInfinity(d) && !(Double.IsNaN(d)));
  45. }
  46. [Conditional("DEBUG")]
  47. [DebuggerStepThrough]
  48. public static void IsNotNull(object obj)
  49. {
  50. DebugVerify.Is(obj != null);
  51. }
  52. }
  53. }