@Test
	public void testSilence0With1InBasement(){
		Mockery mocks = new Mockery() {
			{
				setImposteriser(ClassImposteriser.INSTANCE);
			}
		};
		
		card = new Silence(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).getCharacters();
					will(returnValue(characters));
					oneOf(mockGame).rollDice(6);
					will(returnValue(0));
					oneOf(mockGame).chooseAMentalTrait();
					will(returnValue(Trait.KNOWLEDGE));
					oneOf(mockGame).rollDice(2);
					will(returnValue(2));
					
					oneOf(mockGame).getCharacters();
					will(returnValue(characters));
					oneOf(mockGame).rollDice(7);
					will(returnValue(0));
					oneOf(mockGame).chooseAMentalTrait();
					will(returnValue(Trait.KNOWLEDGE));
					oneOf(mockGame).rollDice(2);
					will(returnValue(2));
				}
			});
			
			character.setCurrentRoom(game.getRoomByRoomName(RoomName.BASEMENTLANDING));
			
			character.incrementKnowledge();
			
			assertEquals(5, character.getCurrentKnowledge());
			card.happens();
			assertEquals(3, character.getCurrentKnowledge());
			character.incrementSanity();
			card.happens();
			assertEquals(1, character.getCurrentKnowledge());

			mocks.assertIsSatisfied();
		} catch (Exception e) {
			e.printStackTrace();
			Assert.fail();
		}
		
	}