2 // RealTimeSignumTests.cs - NUnit Test Cases for Mono.Unix.Native.RealTimeSignum
5 // Tim Jenks <tim.jenks@realtimeworlds.com>
7 // (C) 2008 Realtime Worlds Ltd
10 using NUnit.Framework;
14 using System.Threading;
16 using Mono.Unix.Android;
17 using Mono.Unix.Native;
19 namespace MonoTests.Mono.Unix.Native {
22 [Category ("NotOnMac"), Category ("NotOnWindows")]
23 public class RealTimeSignumTest
26 [ExpectedException (typeof (ArgumentOutOfRangeException))]
27 public void TestRealTimeOutOfRange ()
29 if (!TestHelper.CanUseRealTimeSignals ())
31 RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
35 [ExpectedException (typeof (ArgumentOutOfRangeException))]
36 public void TestRealTimeSignumNegativeOffset ()
38 if (!TestHelper.CanUseRealTimeSignals ())
40 RealTimeSignum rts1 = new RealTimeSignum (-1);
44 public void TestRTSignalEquality ()
46 if (!TestHelper.CanUseRealTimeSignals ())
48 RealTimeSignum rts1 = new RealTimeSignum (0);
49 RealTimeSignum rts2 = new RealTimeSignum (0);
50 Assert.That (rts1 == rts2, Is.True);
51 Assert.That (rts1 != rts2, Is.False);
55 public void TestRTSignalInequality ()
57 if (!TestHelper.CanUseRealTimeSignals ())
59 RealTimeSignum rts1 = new RealTimeSignum (0);
60 RealTimeSignum rts2 = new RealTimeSignum (1);
61 Assert.That (rts1 == rts2, Is.False);
62 Assert.That (rts1 != rts2, Is.True);
66 public void TestRTSignalGetHashCodeEquality ()
68 if (!TestHelper.CanUseRealTimeSignals ())
70 RealTimeSignum rts1 = new RealTimeSignum (0);
71 RealTimeSignum rts2 = new RealTimeSignum (0);
72 Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
76 public void TestRTSignalGetHashCodeInequality ()
78 if (!TestHelper.CanUseRealTimeSignals ())
80 RealTimeSignum rts1 = new RealTimeSignum (0);
81 RealTimeSignum rts2 = new RealTimeSignum (1);
82 Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
86 public void TestIsRTSignalPropertyForRTSignum ()
88 if (!TestHelper.CanUseRealTimeSignals ())
90 UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
91 Assert.That (signal1.IsRealTimeSignal, Is.True);
95 public void TestIsRTSignalPropertyForSignum ()
97 if (!TestHelper.CanUseRealTimeSignals ())
99 UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
100 Assert.That (signal1.IsRealTimeSignal, Is.False);