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 public void TestRealTimeOutOfRange ()
28 if (!TestHelper.CanUseRealTimeSignals ())
31 Assert.Throws<ArgumentOutOfRangeException> (() => {
32 RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
37 public void TestRealTimeSignumNegativeOffset ()
39 if (!TestHelper.CanUseRealTimeSignals ())
42 Assert.Throws<ArgumentOutOfRangeException> (() => {
43 RealTimeSignum rts1 = new RealTimeSignum (-1);
48 public void TestRTSignalEquality ()
50 if (!TestHelper.CanUseRealTimeSignals ())
52 RealTimeSignum rts1 = new RealTimeSignum (0);
53 RealTimeSignum rts2 = new RealTimeSignum (0);
54 Assert.That (rts1 == rts2, Is.True);
55 Assert.That (rts1 != rts2, Is.False);
59 public void TestRTSignalInequality ()
61 if (!TestHelper.CanUseRealTimeSignals ())
63 RealTimeSignum rts1 = new RealTimeSignum (0);
64 RealTimeSignum rts2 = new RealTimeSignum (1);
65 Assert.That (rts1 == rts2, Is.False);
66 Assert.That (rts1 != rts2, Is.True);
70 public void TestRTSignalGetHashCodeEquality ()
72 if (!TestHelper.CanUseRealTimeSignals ())
74 RealTimeSignum rts1 = new RealTimeSignum (0);
75 RealTimeSignum rts2 = new RealTimeSignum (0);
76 Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
80 public void TestRTSignalGetHashCodeInequality ()
82 if (!TestHelper.CanUseRealTimeSignals ())
84 RealTimeSignum rts1 = new RealTimeSignum (0);
85 RealTimeSignum rts2 = new RealTimeSignum (1);
86 Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
90 public void TestIsRTSignalPropertyForRTSignum ()
92 if (!TestHelper.CanUseRealTimeSignals ())
94 UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
95 Assert.That (signal1.IsRealTimeSignal, Is.True);
99 public void TestIsRTSignalPropertyForSignum ()
101 if (!TestHelper.CanUseRealTimeSignals ())
103 UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
104 Assert.That (signal1.IsRealTimeSignal, Is.False);