@Test
public void testAddTraceTokenProperties()
{

    registerTraceToken(TESTING_TRACE_TOKEN);
    try (TraceTokenScope ignored = addTraceTokenProperties("key-f", "value-f", "key-a", "value-a"))
    {
        assertEquals(getCurrentRequestToken(), "{id=testing-id, key-d=value-d, key-f=value-f, key-a=value-a}");
        assertEquals(getCurrentTraceToken(), ImmutableMap.of("id", "testing-id", "key-d", "value-d", "key-f", "value-f", "key-a", "value-a"));
        assertEquals(getCurrentTraceToken().keySet(), ImmutableList.of("id", "key-d", "key-f", "key-a"));
        assertEquals(currentThread().getName(), "testing thread name {id=testing-id, key-d=value-d, key-f=value-f, key-a=value-a}");
    }
    assertEquals(getCurrentRequestToken(), "{id=testing-id, key-d=value-d}");
    assertEquals(getCurrentTraceToken(), TESTING_TRACE_TOKEN);
    assertEquals(currentThread().getName(), "testing thread name {id=testing-id, key-d=value-d}");
}