public ILogRegistry Create(RegistrySelectionCriteria criteria) { creationCounter.Increment(criteria.ToString()); IRegistryStorage storage = PickStorage(criteria); return(new LogRegistry(storage)); }
private static Log.Internal.IRegistryStorage LogRegistryFactoryStorageTest(RegistrySelectionCriteria criteria) { var factory = LogRegistryFactory.Create(); Assert.That(factory, Is.Not.Null); var factoryType = typeof(LogRegistryFactory).GetNestedType("LogRegistryFactoryFinder", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var selectionCriteria = factoryType.GetMethod("PickStorage", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); return(selectionCriteria.Invoke(factory, new object[] { criteria }) as Log.Internal.IRegistryStorage); }
private IRegistryStorage PickStorage(RegistrySelectionCriteria criteria) { if (criteria == RegistrySelectionCriteria.Null) { return(new NullStorage(LogAttribute.Timestamp)); } else { //XXX we don't care about criteria for now, but it will be used to pick "storage" return(new ListStorage()); } }