Assert.AreEqual ("00", TestingEnum4.This.ToString ("x"), "#B1");
Assert.AreEqual ("00", TestingEnum4.This.ToString ("X"), "#B2");
-#if !TARGET_JVM // This appears not to work under .Net
Assert.AreEqual ("ff", TestingEnum4.Test.ToString ("x"), "#B3");
-#endif // TARGET_JVM
Assert.AreEqual ("FF", TestingEnum4.Test.ToString ("X"), "#B4");
Assert.AreEqual ("0000", TestingEnum5.This.ToString ("x"), "#C1");
Assert.AreEqual ("0000", TestingEnum5.This.ToString ("X"), "#C2");
-#if !TARGET_JVM // This appears not to work under .Net
Assert.AreEqual ("7fff", TestingEnum5.Test.ToString ("x"), "#C3");
-#endif // TARGET_JVM
Assert.AreEqual ("7FFF", TestingEnum5.Test.ToString ("X"), "#C4");
Assert.AreEqual ("00000000", TestingEnum6.This.ToString ("x"), "#D1");
Assert.AreEqual ("00000000", TestingEnum6.This.ToString ("X"), "#D2");
-#if !TARGET_JVM // This appears not to work under .Net
Assert.AreEqual ("7fffffff", TestingEnum6.Test.ToString ("x"), "#D3");
-#endif // TARGET_JVM
Assert.AreEqual ("7FFFFFFF", TestingEnum6.Test.ToString ("X"), "#D4");
Assert.AreEqual ("0000000000000000", TestingEnum3.This.ToString ("x"), "#E1");
Assert.AreEqual ("0000000000000000", TestingEnum3.This.ToString ("X"), "#E2");
-#if !TARGET_JVM // This appears not to work under .Net
Assert.AreEqual ("ffffffffffffffff", TestingEnum3.Test.ToString ("x"), "#E3");
-#endif // TARGET_JVM
Assert.AreEqual ("FFFFFFFFFFFFFFFF", TestingEnum3.Test.ToString ("X"), "#E4");
}
Assert.AreEqual ("Test", Enum.GetName (c.GetType (), d), "#E4");
}
+ [Test]
+ public void GetNameIdenticalToGetEnumName ()
+ {
+ Assert.AreEqual (typeof (EnumOverlap).GetEnumName (0), Enum.GetName (typeof(EnumOverlap), 0), "#1");
+ Assert.AreEqual ("First", Enum.GetName (typeof(EnumOverlap), 0), "#2");
+ }
+
[Test]
public void TestGetNames ()
{
Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#G2");
Assert.IsNull (ex.InnerException, "#G3");
Assert.IsNotNull (ex.Message, "#G4");
-#if NET_2_0
Assert.IsTrue (ex.Message.IndexOf ("'huh?'") != -1, "#G5");
-#else
- Assert.IsTrue (ex.Message.IndexOf ("huh?") != -1, "#G5");
-#endif
Assert.IsNull (ex.ParamName, "#G6");
}
Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#H2");
Assert.IsNull (ex.InnerException, "#H3");
Assert.IsNotNull (ex.Message, "#H4");
-#if NET_2_0
Assert.IsTrue (ex.Message.IndexOf ("'test'") != -1, "#H5");
-#else
- Assert.IsTrue (ex.Message.IndexOf ("test") != -1, "#H5");
-#endif
Assert.IsNull (ex.ParamName, "#H6");
}
success = Enum.TryParse<TestingEnum> ("is", true, out result);
Assert.AreEqual (true, success, "#D1");
Assert.AreEqual (TestingEnum.Is, result, "#D2");
+
+ success = Enum.TryParse<TestingEnum> (" Is ", out result);
+ Assert.AreEqual (true, success, "#E1");
+ Assert.AreEqual (TestingEnum.Is, result, "#E2");
}
#endif
}
[Test]
-#if ONLY_1_1
- [Category ("NotDotNet")]
-#endif
public void ToObject_EnumType_UInt64 ()
{
object value = Enum.ToObject (typeof (TestingEnum3), 0);
Assert.AreEqual (TestingEnum5.Test, value, "#2");
}
+ [Test]
+ public void ToObject_EnumType_Bool ()
+ {
+ object value = Enum.ToObject (typeof (TestingEnum5), true);
+ Assert.AreEqual (TestingEnum5.Is, value, "#1");
+ }
+
+ [Test]
+ public void ToObject_EnumType_Char ()
+ {
+ object value = Enum.ToObject (typeof (TestingEnum3), (object) '\0');
+ Assert.AreEqual (TestingEnum3.This, value, "#1");
+ }
+
[Test]
public void ToObject_EnumType_Invalid ()
{
}
#endif
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void HasFlagNull ()
+ {
+ SomeEnum x = SomeEnum.a;
+
+ x.HasFlag (null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void HasFlagWrongType ()
+ {
+ SomeEnum x = SomeEnum.a;
+
+ x.HasFlag (SomeByteEnum.a);
+ }
+
[Flags]
enum SomeEnum
{
ulong_Ee = 0x7FFFFFFFffffffff,
ulong_Ff = 100
}
-
+
+ enum EnumOverlap
+ {
+ Unknown = 0,
+ First = 0,
+ System_Math = First,
+ }
}
}