public void SqlServerCacheFactory() { var factory = new SqlServerFactory(new Dictionary <string, string> { { "connection-string", "connection" }, { "schema-name", "schema" }, { "table-name", "table" }, { "expired-items-deletion-interval", "5" } }); var cache1 = factory.BuildCache(); Assert.That(cache1, Is.Not.Null, "Factory has yielded null"); Assert.That(cache1, Is.InstanceOf <SqlServerCache>(), "Unexpected cache"); var cache2 = factory.BuildCache(); Assert.That(cache2, Is.Not.EqualTo(cache1), "The SQL Server cache factory is supposed to always yield a new instance"); var options = SqlServerCacheOptionsField.GetValue(factory); Assert.That(options, Is.Not.Null, "Factory cache options not found"); Assert.That(options, Is.InstanceOf <SqlServerCacheOptions>(), "Unexpected options type"); var sqlServerOptions = (SqlServerCacheOptions)options; Assert.That(sqlServerOptions.ConnectionString, Is.EqualTo("connection")); Assert.That(sqlServerOptions.SchemaName, Is.EqualTo("schema")); Assert.That(sqlServerOptions.TableName, Is.EqualTo("table")); Assert.That(sqlServerOptions.ExpiredItemsDeletionInterval, Is.EqualTo(TimeSpan.FromMinutes(5))); }