Posix RTS test fixes and Android compatibility
[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 #if !MONODROID
12 using NUnit.Framework.SyntaxHelpers;
13 #endif
14 using System;
15 using System.Text;
16 using System.Threading;
17 using Mono.Unix;
18 using Mono.Unix.Android;
19 using Mono.Unix.Native;
20
21 namespace MonoTests.Mono.Unix.Native {
22
23         [TestFixture]
24         [Category ("NotOnMac")]
25         public class RealTimeSignumTest 
26         {
27                 [Test]
28                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
29                 public void TestRealTimeOutOfRange ()
30                 {
31                         if (!TestHelper.CanUseRealTimeSignals ())
32                                 return;
33                         RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
34                 }
35
36                 [Test]
37                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
38                 public void TestRealTimeSignumNegativeOffset ()
39                 {
40                         if (!TestHelper.CanUseRealTimeSignals ())
41                                 return;
42                         RealTimeSignum rts1 = new RealTimeSignum (-1);
43                 }
44
45                 [Test]
46                 public void TestRTSignalEquality ()
47                 {
48                         if (!TestHelper.CanUseRealTimeSignals ())
49                                 return;
50                         RealTimeSignum rts1 = new RealTimeSignum (0);
51                         RealTimeSignum rts2 = new RealTimeSignum (0);
52                         Assert.That (rts1 == rts2, Is.True);
53                         Assert.That (rts1 != rts2, Is.False);
54                 }
55
56                 [Test]
57                 public void TestRTSignalInequality ()
58                 {
59                         if (!TestHelper.CanUseRealTimeSignals ())
60                                 return;
61                         RealTimeSignum rts1 = new RealTimeSignum (0);
62                         RealTimeSignum rts2 = new RealTimeSignum (1);
63                         Assert.That (rts1 == rts2, Is.False);
64                         Assert.That (rts1 != rts2, Is.True);
65                 }
66
67                 [Test]
68                 public void TestRTSignalGetHashCodeEquality ()
69                 {
70                         if (!TestHelper.CanUseRealTimeSignals ())
71                                 return;
72                         RealTimeSignum rts1 = new RealTimeSignum (0);
73                         RealTimeSignum rts2 = new RealTimeSignum (0);
74                         Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
75                 }
76
77                 [Test]
78                 public void TestRTSignalGetHashCodeInequality ()
79                 {
80                         if (!TestHelper.CanUseRealTimeSignals ())
81                                 return;
82                         RealTimeSignum rts1 = new RealTimeSignum (0);
83                         RealTimeSignum rts2 = new RealTimeSignum (1);
84                         Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
85                 }
86
87                 [Test]
88                 public void TestIsRTSignalPropertyForRTSignum ()
89                 {
90                         if (!TestHelper.CanUseRealTimeSignals ())
91                                 return;
92                         UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
93                         Assert.That (signal1.IsRealTimeSignal, Is.True);
94                 }
95
96                 [Test]
97                 public void TestIsRTSignalPropertyForSignum ()
98                 {
99                         if (!TestHelper.CanUseRealTimeSignals ())
100                                 return;
101                         UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
102                         Assert.That (signal1.IsRealTimeSignal, Is.False);
103                 }
104
105         }
106 }