public void NoErrorIsLoggedIfWeDontRequireAReceiver() { GameObject go = new GameObject(); MessageComponent comp = new MessageComponent(); go.AddComponent(comp); MemoryStream ms = new MemoryStream(); System.Diagnostics.TextWriterTraceListener listener = new System.Diagnostics.TextWriterTraceListener(ms); System.Diagnostics.Debug.Listeners.Clear(); System.Diagnostics.Debug.Listeners.Add(listener); go.SendMessage("NonExisting", 42, SendMessageOptions.DontRequireReceiver); listener.Flush(); Assert.That(ms.Position, Is.EqualTo(0)); }
public void BadHashWarning() { var old = Diagnostics.ConcurrentHashtableSwitch; Diagnostics.ConcurrentHashtableSwitch = new System.Diagnostics.TraceSwitch("ReplacedSwitch", "", "Warning"); Diagnostics.TypeBadHashReportMap = new Dictionary <Type, bool>(); try { var writer = new StringWriter(); var myListener = new System.Diagnostics.TextWriterTraceListener(writer); System.Diagnostics.Trace.Listeners.Add(myListener); try { var dictionary = new ConcurrentDictionary <BadHashObject, int>(); for (int i = 0; i < 1000; ++i) { dictionary.Add(new BadHashObject(), i); } System.Threading.Thread.Sleep(1000); myListener.Flush(); } finally { System.Diagnostics.Trace.Listeners.Remove(myListener); } writer.Close(); var result = writer.ToString(); Assert.IsFalse(String.IsNullOrEmpty(result), "Bad hash not reported"); } finally { Diagnostics.ConcurrentHashtableSwitch = old; } }