@Test
public void testGetContextParameter() {
CallContext currentContext = CallContext.current();
Assert.assertEquals("There is nothing in the context. It should return null", null, currentContext.getContextParameter("key"));
Assert.assertTrue("There is nothing in the context. The map should be empty", currentContext.getContextParameters().isEmpty());
UUID objectUUID = UUID.randomUUID();
UUID stringUUID = UUID.randomUUID();
currentContext.putContextParameter(User.class, objectUUID);
Assert.assertEquals("it should return objectUUID: " + objectUUID, objectUUID, currentContext.getContextParameter(User.class));
Assert.assertEquals("current context map should have exactly one entry", 1, currentContext.getContextParameters().size());
currentContext.putContextParameter(Account.class.toString(), stringUUID);
Assert.assertEquals("it should return stringUUID: " + stringUUID, stringUUID, currentContext.getContextParameter(Account.class));
Assert.assertEquals("current context map should have exactly two entries", 2, currentContext.getContextParameters().size());
currentContext.putContextParameter(Account.class, objectUUID);
Assert.assertEquals("it should return objectUUID: " + objectUUID, objectUUID, currentContext.getContextParameter(Account.class));
Assert.assertEquals("current context map should have exactly three entries", 3, currentContext.getContextParameters().size());
}