Updated to be more consistent
[mono.git] / mcs / class / corlib / Test / System.Reflection.Emit / AssemblyBuilderTest.cs
index e9ee27b8cc7dfcb4313321b10d116aea39834095..f7b932d319034e1623307c6c4288f7a341d7eb7a 100644 (file)
@@ -553,7 +553,7 @@ public class AssemblyBuilderTest
        }
 
        [Test]
-       [Category ("NotWorking")]
+       [Category ("NotWorking")] // bug #75246
        public void AssemblyName_PublicKey ()
        {
                AssemblyName assemblyName = new AssemblyName ();
@@ -561,10 +561,46 @@ public class AssemblyBuilderTest
                assemblyName.Version = new Version ("1.2.3.4");
                assemblyName.KeyPair = new StrongNameKeyPair (strongName);
 
+               Assert.IsNull (assemblyName.CultureInfo, "#1");
+               Assert.AreEqual ("AssemblyNameTest, Version=1.2.3.4", assemblyName.FullName, "#2");
+
                const string fullName = "AssemblyNameTest, Version=1.2.3.4, Culture=neutral, PublicKeyToken=0eea7ce65f35f2d8";
-               const string abName = "AssemblyNameTest, Version=1.2.3.4, PublicKeyToken=0eea7ce65f35f2d8";
 
-               AssertAssemblyName (tempDir, assemblyName, abName, fullName);
+               AssemblyBuilder ab = AppDomain.CurrentDomain.DefineDynamicAssembly (
+                       assemblyName, AssemblyBuilderAccess.Save, tempDir);
+
+               AssemblyName abName = ab.GetName ();
+               Assert.IsNotNull (abName.GetPublicKeyToken (), "#3");
+               Assert.IsTrue (abName.GetPublicKeyToken ().Length > 0, "#4");
+               Assert.IsNotNull (abName.GetPublicKey () != null, "#5");
+               Assert.IsTrue (abName.GetPublicKey ().Length > 0, "#6");
+               Assert.IsNotNull (abName.CultureInfo != null, "#7");
+#if NET_2_0
+               Assert.IsTrue (abName.CultureInfo != CultureInfo.InvariantCulture, "#8");
+               Assert.AreEqual (CultureInfo.InvariantCulture.LCID, abName.CultureInfo.LCID, "#9");
+               Assert.AreEqual (fullName, abName.FullName, "#10");
+#else
+               Assert.AreEqual (CultureInfo.InvariantCulture, abName.CultureInfo, "#11");
+               Assert.AreEqual ("AssemblyNameTest, Version=1.2.3.4, PublicKeyToken=0eea7ce65f35f2d8", abName.FullName, "#12");
+#endif
+
+               ab.Save ("AssemblyNameTest.dll");
+
+               AssemblyName bakedName = AssemblyName.GetAssemblyName (Path.Combine(
+                       tempDir, "AssemblyNameTest.dll"));
+
+               Assert.IsNotNull (bakedName.GetPublicKeyToken (), "#13");
+               Assert.IsNotNull (bakedName.GetPublicKey (), "#14");
+               Assert.IsNotNull (bakedName.CultureInfo, "#15");
+
+#if NET_2_0
+               Assert.IsTrue (abName.CultureInfo != CultureInfo.InvariantCulture, "#16");
+               Assert.AreEqual (CultureInfo.InvariantCulture.LCID, abName.CultureInfo.LCID, "#17");
+#else
+               Assert.AreEqual (CultureInfo.InvariantCulture, bakedName.CultureInfo, "#18");
+#endif
+
+               Assert.AreEqual (fullName, bakedName.FullName, "#19");
        }
 
        [Test]