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

		card = new AngryBeing(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(3);
					will(returnValue(4));
					oneOf(mockGame).chooseAMentalTrait();
					will(returnValue(Trait.KNOWLEDGE));
					oneOf(mockGame).rollDice(1);
					will(returnValue(1));
					
					oneOf(mockGame).getCurrentCharacter();
					will(returnValue(character));
					oneOf(mockGame).rollDice(3);
					will(returnValue(3));
					oneOf(mockGame).chooseAMentalTrait();
					will(returnValue(Trait.KNOWLEDGE));
					oneOf(mockGame).rollDice(1);
					will(returnValue(1));
					
					oneOf(mockGame).getCurrentCharacter();
					will(returnValue(character));
					oneOf(mockGame).rollDice(3);
					will(returnValue(2));
					oneOf(mockGame).chooseAMentalTrait();
					will(returnValue(Trait.KNOWLEDGE));
					oneOf(mockGame).rollDice(1);
					will(returnValue(1));
				}
			});

			card.happens();
			assertEquals(3, character.getCurrentKnowledge());
			card.happens();
			assertEquals(3, character.getCurrentKnowledge());
			card.happens();
			assertEquals(1, character.getCurrentKnowledge());

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