public async Task EvictByTag_SingleTag_MultipleEntries()
    {
        var testClock = new TestMemoryOptionsClock {
            UtcNow = DateTimeOffset.UtcNow
        };
        var store = new MemoryOutputCacheStore(new MemoryCache(new MemoryCacheOptions {
            Clock = testClock
        }));
        var value = "abc" u8.ToArray();
        var key1  = "abc";
        var key2  = "def";
        var tags  = new string[] { "tag1" };

        await store.SetAsync(key1, value, tags, TimeSpan.FromDays(1), default);

        await store.SetAsync(key2, value, tags, TimeSpan.FromDays(1), default);

        await store.EvictByTagAsync("tag1", default);

        var result1 = await store.GetAsync(key1, default);

        var result2 = await store.GetAsync(key2, default);

        Assert.Null(result1);
        Assert.Null(result2);
    }
    public async Task StoreAndGetValue_TimesOut()
    {
        var testClock = new TestMemoryOptionsClock {
            UtcNow = DateTimeOffset.UtcNow
        };
        var store = new MemoryOutputCacheStore(new MemoryCache(new MemoryCacheOptions {
            Clock = testClock
        }));
        var value = "abc" u8.ToArray();
        var key   = "abc";

        await store.SetAsync(key, value, null, TimeSpan.FromMilliseconds(5), default);

        testClock.Advance(TimeSpan.FromMilliseconds(10));

        var result = await store.GetAsync(key, default);

        Assert.Null(result);
    }