Merge pull request #4621 from alexanderkyte/strdup_env
[mono.git] / mono / tests / testing_gac / v1 / app-refl-load.cs
1 using System;
2 using System.Reflection;
3
4 public class App {
5         const string assemblyName = "gactestlib";
6         const string assemblyVersion = "1.0.0.0";
7         const string assemblyPublicKeyToken = "537eab56aa911cb7"; /* see testkey.snk */
8         public static int Main (string[] args)
9         {
10                 TestAssemblyLoad ();
11
12                 TestReflectionOnlyLoad ();
13
14                 return 0;
15         }
16
17         public static void TestAssemblyLoad ()
18         {
19                 var expectedVersion = new Version (assemblyVersion);
20
21                 var s = String.Format ("{0}, Version={1}, Culture=\"\", PublicKeyToken={2}",
22                                        assemblyName, assemblyVersion, assemblyPublicKeyToken);
23                 var n = new AssemblyName (s);
24                 var a = AppDomain.CurrentDomain.Load (n);
25
26                 if (a == null)
27                         Environment.Exit (1);
28                 if (a.GetName ().Version != expectedVersion)
29                         Environment.Exit (2);
30         }
31
32         public static void TestReflectionOnlyLoad ()
33         {
34                 var expectedVersion = new Version (assemblyVersion);
35
36                 var s = String.Format ("{0}, Version={1}, Culture=\"\", PublicKeyToken={2}",
37                                        assemblyName, assemblyVersion, assemblyPublicKeyToken);
38                 var a = Assembly.ReflectionOnlyLoad (s);
39
40                 if (a == null)
41                         Environment.Exit (3);
42                 if (a.GetName ().Version != expectedVersion)
43                         Environment.Exit (4);
44         }
45 }