public void Factory_CachesTraceWriters_CaseInsensitive() { var config = new ScriptHostConfiguration { FileLoggingMode = FileLoggingMode.Always }; var factory = new FunctionTraceWriterFactory(config); var writer1 = factory.Create("TestFunction1"); var writer2 = factory.Create("TestFunction1"); var writer3 = factory.Create("TestFunction2"); var writer4 = factory.Create("testfunction2"); Assert.Same(writer1, writer2); Assert.Same(writer3, writer4); Assert.NotSame(writer1, writer3); }
public void Factory_Dispose_RemovesTraceWriter() { var config = new ScriptHostConfiguration { FileLoggingMode = FileLoggingMode.Always }; var factory = new FunctionTraceWriterFactory(config); var writer1 = factory.Create("TestFunction1"); var writer2 = factory.Create("TestFunction2"); // This will remove the writer from the parent factory's cache. (writer1 as IDisposable).Dispose(); var writer3 = factory.Create("TestFunction1"); var writer4 = factory.Create("TestFunction2"); Assert.NotSame(writer1, writer3); Assert.Same(writer2, writer4); }
private static TraceWriter CreateFileTraceWriter(string functionName, ScriptHostConfiguration scriptHostConfig) { ITraceWriterFactory factory = new FunctionTraceWriterFactory(functionName, scriptHostConfig); return(factory.Create()); }