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;
11 using NUnit.Framework.SyntaxHelpers;
14 using System.Threading;
16 using Mono.Unix.Native;
18 namespace MonoTests.Mono.Unix.Native {
21 [Category ("NotOnMac")]
22 public class RealTimeSignumTest
25 [ExpectedException (typeof (ArgumentOutOfRangeException))]
26 public void TestRealTimeOutOfRange ()
28 RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
32 [ExpectedException (typeof (ArgumentOutOfRangeException))]
33 public void TestRealTimeSignumNegativeOffset ()
35 RealTimeSignum rts1 = new RealTimeSignum (-1);
39 public void TestRTSignalEquality ()
41 RealTimeSignum rts1 = new RealTimeSignum (0);
42 RealTimeSignum rts2 = new RealTimeSignum (0);
43 Assert.That (rts1 == rts2, Is.True);
44 Assert.That (rts1 != rts2, Is.False);
48 public void TestRTSignalInequality ()
50 RealTimeSignum rts1 = new RealTimeSignum (0);
51 RealTimeSignum rts2 = new RealTimeSignum (1);
52 Assert.That (rts1 == rts2, Is.False);
53 Assert.That (rts1 != rts2, Is.True);
57 public void TestRTSignalGetHashCodeEquality ()
59 RealTimeSignum rts1 = new RealTimeSignum (0);
60 RealTimeSignum rts2 = new RealTimeSignum (0);
61 Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
65 public void TestRTSignalGetHashCodeInequality ()
67 RealTimeSignum rts1 = new RealTimeSignum (0);
68 RealTimeSignum rts2 = new RealTimeSignum (1);
69 Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
73 public void TestIsRTSignalPropertyForRTSignum ()
75 UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
76 Assert.That (signal1.IsRealTimeSignal, Is.True);
80 public void TestIsRTSignalPropertyForSignum ()
82 UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
83 Assert.That (signal1.IsRealTimeSignal, Is.False);