ComponentResourceManagerTest.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //
  2. // System.ComponentModel.ComponentResourceManager test cases
  3. //
  4. // Authors:
  5. // Gert Driesen ([email protected])
  6. //
  7. // (c) 2007 Gert Driesen
  8. //
  9. using System;
  10. using System.Collections;
  11. using System.ComponentModel;
  12. using System.Globalization;
  13. using System.Reflection;
  14. using System.Resources;
  15. using NUnit.Framework;
  16. namespace MonoTests.System.ComponentModel
  17. {
  18. [TestFixture]
  19. public class ComponentResourceManagerTest
  20. {
  21. [Test]
  22. public void Constructor0 ()
  23. {
  24. MockComponentResourceManager crm = new MockComponentResourceManager ();
  25. Assert.IsNull (crm.BaseName, "#1");
  26. Assert.IsNull (crm.BaseNameField, "#2");
  27. Assert.IsFalse (crm.IgnoreCase, "#3");
  28. Assert.IsNull (crm.MainAssembly, "#4");
  29. Assert.IsNull (crm.ResourceSets, "#5");
  30. Assert.IsNotNull (crm.ResourceSetType, "#6");
  31. Assert.IsTrue (typeof (ResourceSet).IsAssignableFrom (crm.ResourceSetType), "#7");
  32. //Assert.IsFalse (typeof (ResourceSet) == crm.ResourceSetType, "#7");
  33. }
  34. [Test]
  35. public void Constructor1 ()
  36. {
  37. MockComponentResourceManager crm = new MockComponentResourceManager (
  38. typeof (Component));
  39. Assert.IsNotNull (crm.BaseName, "#1");
  40. Assert.AreEqual ("Component", crm.BaseName, "#2");
  41. Assert.IsNotNull (crm.BaseNameField, "#3");
  42. Assert.AreEqual ("Component", crm.BaseNameField, "#4");
  43. Assert.IsFalse (crm.IgnoreCase, "#5");
  44. Assert.IsNotNull (crm.MainAssembly, "#6");
  45. Assert.AreEqual (typeof (Component).Assembly, crm.MainAssembly, "#7");
  46. Assert.IsNotNull (crm.ResourceSets, "#8");
  47. Assert.AreEqual (0, crm.ResourceSets.Count, "#9");
  48. Assert.IsNotNull (crm.ResourceSetType, "#10");
  49. Assert.IsTrue (typeof (ResourceSet).IsAssignableFrom (crm.ResourceSetType), "#11");
  50. //Assert.IsFalse (typeof (ResourceSet) == crm.ResourceSetType, "#12");
  51. }
  52. [Test]
  53. public void Constructor1_ResourceSource_Null ()
  54. {
  55. try {
  56. new ComponentResourceManager ((Type) null);
  57. Assert.Fail ("#1");
  58. } catch (ArgumentNullException ex) {
  59. Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
  60. Assert.IsNull (ex.InnerException, "#3");
  61. Assert.IsNotNull (ex.Message, "#4");
  62. Assert.IsNotNull (ex.ParamName, "#5");
  63. Assert.AreEqual ("resourceSource", ex.ParamName, "#6");
  64. }
  65. }
  66. [Test]
  67. public void ApplyResources_ObjectName_Null ()
  68. {
  69. ComponentResourceManager crm = new ComponentResourceManager ();
  70. try {
  71. crm.ApplyResources (new object (), (string) null);
  72. Assert.Fail ("#A1");
  73. } catch (ArgumentNullException ex) {
  74. Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#A2");
  75. Assert.IsNull (ex.InnerException, "#A3");
  76. Assert.IsNotNull (ex.Message, "#A4");
  77. Assert.IsNotNull (ex.ParamName, "#A5");
  78. Assert.AreEqual ("objectName", ex.ParamName, "#A6");
  79. }
  80. try {
  81. crm.ApplyResources (new object (), (string) null, CultureInfo.InvariantCulture);
  82. Assert.Fail ("#B1");
  83. } catch (ArgumentNullException ex) {
  84. Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#B2");
  85. Assert.IsNull (ex.InnerException, "#B3");
  86. Assert.IsNotNull (ex.Message, "#B4");
  87. Assert.IsNotNull (ex.ParamName, "#B5");
  88. Assert.AreEqual ("objectName", ex.ParamName, "#B6");
  89. }
  90. }
  91. [Test]
  92. public void ApplyResources_Value_Null ()
  93. {
  94. ComponentResourceManager crm = new ComponentResourceManager ();
  95. try {
  96. crm.ApplyResources (null, "$this");
  97. Assert.Fail ("#A1");
  98. } catch (ArgumentNullException ex) {
  99. Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#A2");
  100. Assert.IsNull (ex.InnerException, "#A3");
  101. Assert.IsNotNull (ex.Message, "#A4");
  102. Assert.IsNotNull (ex.ParamName, "#A5");
  103. Assert.AreEqual ("value", ex.ParamName, "#A6");
  104. }
  105. try {
  106. crm.ApplyResources (null, "$this", CultureInfo.InvariantCulture);
  107. Assert.Fail ("#B1");
  108. } catch (ArgumentNullException ex) {
  109. Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#B2");
  110. Assert.IsNull (ex.InnerException, "#B3");
  111. Assert.IsNotNull (ex.Message, "#B4");
  112. Assert.IsNotNull (ex.ParamName, "#B5");
  113. Assert.AreEqual ("value", ex.ParamName, "#B6");
  114. }
  115. }
  116. [Test]
  117. public void IgnoreCase ()
  118. {
  119. ComponentResourceManager crm = new ComponentResourceManager ();
  120. Assert.IsFalse (crm.IgnoreCase, "#1");
  121. crm.IgnoreCase = true;
  122. Assert.IsTrue (crm.IgnoreCase, "#2");
  123. }
  124. class MockComponentResourceManager : ComponentResourceManager
  125. {
  126. public MockComponentResourceManager ()
  127. {
  128. }
  129. public MockComponentResourceManager (Type resourceSource)
  130. : base (resourceSource)
  131. {
  132. }
  133. public new string BaseNameField {
  134. get { return base.BaseNameField; }
  135. }
  136. public new Assembly MainAssembly {
  137. get { return base.MainAssembly; }
  138. }
  139. public new Hashtable ResourceSets {
  140. get { return base.ResourceSets; }
  141. }
  142. }
  143. }
  144. }