892f087e48f9b00aa3dbefa0b306c454c522fe91
[mono.git] / mcs / class / Mono.Posix / Test / Mono.Unix.Native / RealTimeSignumTests.cs
1 //
2 // RealTimeSignumTests.cs - NUnit Test Cases for Mono.Unix.Native.RealTimeSignum
3 //
4 // Authors:
5 //      Tim Jenks  <tim.jenks@realtimeworlds.com>
6 //
7 // (C) 2008 Realtime Worlds Ltd
8 //
9
10 using NUnit.Framework;
11
12 using System;
13 using System.Text;
14 using System.Threading;
15 using Mono.Unix;
16 using Mono.Unix.Android;
17 using Mono.Unix.Native;
18
19 namespace MonoTests.Mono.Unix.Native {
20
21         [TestFixture]
22         [Category ("NotOnMac"), Category ("NotOnWindows")]
23         public class RealTimeSignumTest 
24         {
25                 [Test]
26                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
27                 public void TestRealTimeOutOfRange ()
28                 {
29                         if (!TestHelper.CanUseRealTimeSignals ())
30                                 return;
31                         RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
32                 }
33
34                 [Test]
35                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
36                 public void TestRealTimeSignumNegativeOffset ()
37                 {
38                         if (!TestHelper.CanUseRealTimeSignals ())
39                                 return;
40                         RealTimeSignum rts1 = new RealTimeSignum (-1);
41                 }
42
43                 [Test]
44                 public void TestRTSignalEquality ()
45                 {
46                         if (!TestHelper.CanUseRealTimeSignals ())
47                                 return;
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);
52                 }
53
54                 [Test]
55                 public void TestRTSignalInequality ()
56                 {
57                         if (!TestHelper.CanUseRealTimeSignals ())
58                                 return;
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);
63                 }
64
65                 [Test]
66                 public void TestRTSignalGetHashCodeEquality ()
67                 {
68                         if (!TestHelper.CanUseRealTimeSignals ())
69                                 return;
70                         RealTimeSignum rts1 = new RealTimeSignum (0);
71                         RealTimeSignum rts2 = new RealTimeSignum (0);
72                         Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
73                 }
74
75                 [Test]
76                 public void TestRTSignalGetHashCodeInequality ()
77                 {
78                         if (!TestHelper.CanUseRealTimeSignals ())
79                                 return;
80                         RealTimeSignum rts1 = new RealTimeSignum (0);
81                         RealTimeSignum rts2 = new RealTimeSignum (1);
82                         Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
83                 }
84
85                 [Test]
86                 public void TestIsRTSignalPropertyForRTSignum ()
87                 {
88                         if (!TestHelper.CanUseRealTimeSignals ())
89                                 return;
90                         UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
91                         Assert.That (signal1.IsRealTimeSignal, Is.True);
92                 }
93
94                 [Test]
95                 public void TestIsRTSignalPropertyForSignum ()
96                 {
97                         if (!TestHelper.CanUseRealTimeSignals ())
98                                 return;
99                         UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
100                         Assert.That (signal1.IsRealTimeSignal, Is.False);
101                 }
102
103         }
104 }