2008-12-08 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / corlib / Mono / a.cs
1 using System;
2 using System.Text;
3 using Mono;
4
5 class X {
6         static bool fail = false;
7         
8         static void Dump (byte [] d, string s)
9         {
10                 StringBuilder sb = new StringBuilder ();
11                 
12                 for (int i = 0; i < d.Length; i++){
13                         if ((i % 24) == 0){
14                                 Console.Write ("\n{0:x6}: ", i);
15                         }
16                         Console.Write ("{0:x2} ", d [i]);
17                         sb.Append (String.Format ("{0:x2} ", d [i]));
18                 }
19                 if (s != null){
20                         string result = sb.ToString ().Trim ();
21                         if (s.Trim () != result){
22                                 Console.WriteLine ();
23                                 Console.WriteLine ("FAILURE:");
24                                 Console.WriteLine ("  Got:      [{0}]", result);
25                                 Console.WriteLine ("  Expected: [{0}]", s);
26                                 fail = true;
27                         }
28                 }
29                 Console.WriteLine ();
30         }
31
32         static void Main ()
33         {
34                 Dump (DataConverter.Pack ("z8", "hello"), "68 65 6c 6c 6f 00 00 00 00");
35                 Dump (DataConverter.Pack ("z6", "hello"), "68 00 65 00 6c 00 6c 00 6f 00 00 00 00 00");
36                 Dump (DataConverter.Pack ("CCCC", 65, 66, 67, 68), "41 42 43 44");
37
38                 Dump (DataConverter.Pack ("4C", 65, 66, 67, 68, 69, 70),  "41 42 43 44");
39                 Dump (DataConverter.Pack ("^iii", 0x1234abcd, 0x7fadb007), " 12 34 ab cd 7f ad b0 07 00 00 00 00");
40                 Dump (DataConverter.Pack ("_s!i", 0x7b, 0x12345678), "7b 00 00 00 78 56 34 12");
41
42                 byte [] b = DataConverter.Pack ("4C", 1, 2, 3, 4);
43                 foreach (object c in DataConverter.Unpack ("4C", b, 0)){
44                         Console.WriteLine ("->{0} {1}", c, c.GetType ());
45                 }
46                 Console.WriteLine ("Tests {0}", fail ? "failed" : "passed");
47
48                 byte [] source = new byte [] { 1, 2, 3, 4 };
49                 byte [] dest = new byte [4];
50
51                 int l = DataConverter.Int32FromBE (source, 0);
52                 if (l != 0x01020304){
53                         Console.WriteLine ("Failure");
54                 }
55         }
56 }