@Test
	public void testLockedSafe5OrGreater(){
		Mockery mocks = new Mockery() {
			{
				setImposteriser(ClassImposteriser.INSTANCE);
			}
		};

		card = new LockedSafe(enLocale);
		
		final Game mockGame = mocks.mock(Game.class);
		try {
			Field instanceField = Game.class.getDeclaredField("INSTANCE");
			instanceField.setAccessible(true);
			instanceField.set(null, mockGame);

			mocks.checking(new Expectations() {
				{
					oneOf(mockGame).getCurrentCharacter();
					will(returnValue(character));
					oneOf(mockGame).rollDice(4);
					will(returnValue(5));
					oneOf(mockGame).drawItem();
					will(returnValue(angelFeather));
					oneOf(mockGame).drawItem();
					will(returnValue(adrenalineShotCard));
					
					oneOf(mockGame).getCurrentCharacter();
					will(returnValue(character));
					oneOf(mockGame).rollDice(4);
					will(returnValue(6));
					oneOf(mockGame).drawItem();
					will(returnValue(revolverCard));
					oneOf(mockGame).drawItem();
					will(returnValue(puzzleBoxCard));
					
				}
			});
			
			assertEquals(0, character.getItemHand().size());
			
			card.happens();
			assertEquals(2, character.getItemHand().size());
			assertEquals(angelFeather, character.getItemHand().get(0));
			assertEquals(adrenalineShotCard, character.getItemHand().get(1));
			
			card.happens();
			assertEquals(4, character.getItemHand().size());
			assertEquals(angelFeather, character.getItemHand().get(0));
			assertEquals(adrenalineShotCard, character.getItemHand().get(1));
			assertEquals(revolverCard, character.getItemHand().get(2));
			assertEquals(puzzleBoxCard, character.getItemHand().get(3));
			
			mocks.assertIsSatisfied();
		} catch (Exception e) {
			e.printStackTrace();
			Assert.fail();
		}
		
	}