Merge pull request #3913 from omwok/master
[mono.git] / mcs / class / test-helpers / NunitHelpers.cs
1 using System.IO;
2 using System.Collections;
3 using NUnit.Framework.Constraints;
4
5 namespace NUnit.Framework
6 {
7         static class CollectionAssert
8         {
9                 public static void DoesNotContain (IEnumerable collection, object val)
10                 {
11                          Assert.That(collection, Has.No.Member(val));
12                 }
13
14                 public static void Contains (IEnumerable collection, object val)
15                 {
16                          Assert.That(collection, Has.Member(val));
17                 }
18
19                 public static void AreEqual (IEnumerable expected, IEnumerable actual, string message = null, params object[] args) 
20                 {
21                         Assert.That(actual, Is.EqualTo(expected), message, args);
22                 }
23
24                 public static void AreEquivalent (IEnumerable expected, IEnumerable actual, string message = null, params object[] args) 
25                 {
26                         Assert.That(actual, Is.EquivalentTo(expected), message, args);
27                 }
28
29                 public static void IsEmpty(IEnumerable collection, string message = null, params object[] args)
30                 {
31                         Assert.That(collection, new EmptyCollectionConstraint(), message, args);
32                 }
33         }
34
35         static class FileAssert
36         {
37                 public static void AreEqual(Stream expected, Stream actual, string message, params object[] args)
38                 {
39                         Assert.That(actual, Is.EqualTo(expected), message, args);
40                 }
41
42                 public static void AreEqual(string expected, string actual, string message, params object[] args)
43                 {
44                         using (FileStream exStream = File.OpenRead(expected))
45                         using (FileStream acStream = File.OpenRead(actual))
46                         {
47                                 AreEqual(exStream, acStream, message, args);
48                         }
49                 }
50         }
51
52         static class StringAssert
53         {
54                 public static void Contains(string expected, string actual, string message = null, params object[] args)
55                 {
56                         Assert.That(actual, Is.StringContaining (expected), message, args);
57                 }
58
59                 public static void StartsWith(string expected, string actual, string message = null, params object[] args)
60                 {
61                         Assert.IsTrue (actual.StartsWith (expected), message, args);
62                 }
63         }
64
65         static class AssertHelper
66         {
67                 public static void IsEmpty (string aString, string message = null, params object[] args )
68                 {
69                         Assert.That(aString, Is.Empty, message, args);
70                 }
71
72                 public static void IsNotEmpty (string aString, string message = null, params object[] args )
73                 {
74                         Assert.That(aString, Is.Not.Empty, message, args);
75                 }
76
77                 public static void Less(int arg1, int arg2, string message = null, params object[] args) 
78                 {
79                         Assert.That(arg1, Is.LessThan(arg2), message, args);
80                 }
81
82                 public static void Greater(int arg1, int arg2, string message = null, params object[] args) 
83                 {
84                         Assert.That(arg1, Is.GreaterThan(arg2), message, args);
85                 }
86
87                 public static void Greater(double arg1, double arg2, string message = null, params object[] args) 
88                 {
89                         Assert.That(arg1, Is.GreaterThan(arg2), message, args);
90                 }
91
92                 public static void GreaterOrEqual(int arg1, int arg2, string message = null, params object[] args)
93                 {
94                         Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
95                 }
96
97                 public static void GreaterOrEqual(long arg1, long arg2, string message = null, params object[] args)
98                 {
99                         Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
100                 }
101
102                 public static void LessOrEqual (int arg1, int arg2, string message = null, params object[] args)
103                 {
104                         Assert.That(arg1, Is.LessThanOrEqualTo(arg2), message, args);
105                 }
106
107                 public static void IsNotInstanceOfType(System.Type expected, object actual, string message, params object[] args )
108                 {
109                         Assert.IsFalse (actual.GetType ().IsInstanceOfType (expected), message, args);
110                 }
111         }
112 }