public static void Exception_Enumerator_Value() { Assert.Throws<InvalidOperationException>(() => { using (var ms2 = new MemoryStream()) { using (var rw = GenerateResourceStream(s_dict, ms2)) { ms2.Seek(0L, SeekOrigin.Begin); var rr1 = new ResourceReader(ms2); IDictionaryEnumerator enumarator = rr1.GetEnumerator(); rr1.Dispose(); var shouldnotgethere = enumarator.Value; } } }); }
public ExceptionVerifier(string assemblyName, ExceptionVerificationFlags flags, ITestOutputHelper output) { _output = output; if (assemblyName == null) throw new VerifyException("Assembly name cannot be null"); _verificationFlags = flags; try { switch (assemblyName.ToUpper()) { case "SYSTEM.XML": { var dom = new XmlDocument(); _asm = dom.GetType().GetTypeInfo().Assembly; } break; //case "SYSTEM.DATA": //{ // var ds = new DataSet(); // asm = ds.GetType().Assembly; //} // break; default: throw new FileLoadException("Cannot load assembly from " + GetRuntimeInstallDir() + assemblyName + ".dll"); //asm = Assembly.LoadFrom(GetRuntimeInstallDir() + assemblyName + ".dll"); //break; } if (_asm == null) throw new VerifyException("Can not load assembly " + assemblyName); // let's determine if this is a loc run, if it is then we need to load satellite assembly _locAsm = null; if (!CultureInfo.CurrentCulture.Equals(new CultureInfo("en-US")) && !CultureInfo.CurrentCulture.Equals(new CultureInfo("en"))) { try { throw new NotImplementedException("Cannot Load Satellite assembly"); // load satellite assembly //locAsm = asm.GetSatelliteAssembly(new CultureInfo(CultureInfo.CurrentCulture.Parent.IetfLanguageTag)); } catch (FileNotFoundException e1) { _output.WriteLine(e1.ToString()); } catch (FileLoadException e2) { _output.WriteLine(e2.ToString()); } } } catch (Exception e) { _output.WriteLine("Exception: " + e.Message); _output.WriteLine("Stack: " + e.StackTrace); throw new VerifyException("Error while loading assembly"); } string[] resArray; Stream resStream = null; var bFound = false; // Check that assembly manifest has resources if (null != _locAsm) resArray = _locAsm.GetManifestResourceNames(); else resArray = _asm.GetManifestResourceNames(); foreach (var s in resArray) { if (s.EndsWith(".resources")) { resStream = null != _locAsm ? _locAsm.GetManifestResourceStream(s) : _asm.GetManifestResourceStream(s); bFound = true; if (bFound && resStream != null) { // Populate hashtable from resources var resReader = new ResourceReader(resStream); if (_resources == null) { _resources = new Hashtable(); } var ide = resReader.GetEnumerator(); while (ide.MoveNext()) { if (!_resources.ContainsKey(ide.Key.ToString())) _resources.Add(ide.Key.ToString(), ide.Value.ToString()); } resReader.Dispose(); } //break; } } if (!bFound || resStream == null) throw new VerifyException("GetManifestResourceStream() failed"); }
public static void ExceptionforResourceReaderDispose01() { Assert.Throws<InvalidOperationException>(() => { using (var ms2 = new MemoryStream()) { using (var rw = GenerateResourceStream(s_dict, ms2)) { ms2.Seek(0L, SeekOrigin.Begin); var rr1 = new ResourceReader(ms2); rr1.Dispose(); var s_found_list = new List<string>(); foreach (DictionaryEntry entry in rr1) { string key = (string)entry.Key; string value = (string)entry.Value; string found = s_dict[key]; Assert.True(string.Compare(value, found) == 0, "expected: " + value + ", but got : " + found); s_found_list.Add(key); } } } }); }
private string GetResource(string name) { string result = string.Empty; Stream stream = Assembly.GetEntryAssembly().GetManifestResourceStream("Concierge_Manager.Properties.Resources.resources"); IResourceReader reader = new ResourceReader(stream); var query = from DictionaryEntry entry in reader where entry.Key as string == name select entry.Value; if (query.Count() == 1) { result = query.First() as string; } reader.Dispose(); stream.Dispose(); return result; }