@Test public void testClear() { final DefaultThreadContextStack stack = createStack(); stack.clear(); assertTrue(stack.isEmpty()); }
@Test public void testImmutableOrNullReturnsNullIfUseStackIsFalse() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(false); stack.clear(); assertEquals(null, stack.getImmutableStackOrNull()); }
@Test public void testImmutableOrNullReturnsNullIfStackIsEmpty() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertTrue(stack.isEmpty()); assertEquals(null, stack.getImmutableStackOrNull()); }
@Test public void testAsList() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertTrue(stack.isEmpty()); stack.push("msg1"); stack.add("msg2"); stack.push("msg3"); assertEquals(Arrays.asList("msg1", "msg2", "msg3"), stack.asList()); }
@Test public void testPushAndAddIncreaseStack() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertTrue(stack.isEmpty()); stack.push("msg1"); stack.add("msg2"); assertEquals(2, stack.size()); }
@Test public void testToStringShowsListContents() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertEquals("[]", stack.toString()); stack.push("msg1"); stack.add("msg2"); stack.push("msg3"); assertEquals("[msg1, msg2, msg3]", stack.toString()); stack.retainAll(Arrays.asList("msg1", "msg3")); assertEquals("[msg1, msg3]", stack.toString()); } }
/** * @return */ static DefaultThreadContextStack createStack() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertTrue(stack.isEmpty()); stack.push("msg1"); stack.add("msg2"); stack.push("msg3"); assertEquals(3, stack.size()); return stack; }
@Test public void testDoesNothingIfConstructedWithUseStackIsFalse() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(false); stack.clear(); assertTrue(stack.isEmpty()); stack.push("msg"); // nothing was added assertTrue(stack.isEmpty()); assertEquals(0, stack.size()); }
contextData.putValue("MDC.B", "B_Value"); final DefaultThreadContextStack contextStack = new DefaultThreadContextStack(true); contextStack.clear(); contextStack.push("stack_msg1"); contextStack.add("stack_msg2");
@Test public void testPeekReturnsLastAddedItem() { final DefaultThreadContextStack stack = new DefaultThreadContextStack(true); stack.clear(); assertTrue(stack.isEmpty()); stack.push("msg1"); stack.add("msg2"); assertEquals(2, stack.size()); assertEquals("msg2", stack.peek()); stack.push("msg3"); assertEquals("msg3", stack.peek()); }
@Test public void testCopy() { final DefaultThreadContextStack stack = createStack(); final ThreadContextStack copy = stack.copy(); assertEquals(3, copy.size()); assertTrue(copy.containsAll(Arrays.asList("msg1", "msg2", "msg3"))); // clearing stack does not affect copy stack.clear(); assertTrue(stack.isEmpty()); assertEquals(3, copy.size()); // not affected assertTrue(copy.containsAll(Arrays.asList("msg1", "msg2", "msg3"))); // adding to copy does not affect stack copy.add("other"); assertEquals(4, copy.size()); // not affected assertTrue(stack.isEmpty()); // adding to stack does not affect copy stack.push("newStackMsg"); assertEquals(1, stack.size()); assertEquals(4, copy.size()); // not affected // clearing copy does not affect stack copy.clear(); assertTrue(copy.isEmpty()); assertEquals(1, stack.size()); }