Program: 112826
Project: 112826
Buggy source:
@Test public void test0() throws HSException {
  Minion minion=board.data_.getMinion_p0(0);
  HearthTreeNode<BoardState> ret=minion.attack(0,1,0,board,deck);
  assertFalse(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),7);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  Hero hero=board.data_.getHero_p0();
  ret=hero.useHeroAbility(0,1,0,board,deck);
  assertTrue(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),7);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  minion.hasAttacked(false);
  ret=minion.attack(0,1,2,board,deck);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),0);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),5);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),6);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  minion.hasAttacked(false);
  ret=hero.useHeroAbility(0,0,0,board,deck);
  assertFalse(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),6);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getHero_p0().getArmor(),0);
  assertEquals(board.data_.getHero_p1().getArmor(),0);
  assertEquals(board.data_.getHero_p0().getAttack(),1);
  assertEquals(board.data_.getHero_p1().getAttack(),0);
  assertEquals(board.data_.getHero_p0().getAttack(),1);
  assertEquals(board.data_.getHero_p1().getAttack(),0);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),0);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),5);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),6);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
}

Fixed version (ground truth):
@Test public void test0() throws HSException {
  Minion minion=board.data_.getMinion_p0(0);
  HearthTreeNode<BoardState> ret=minion.attack(0,1,0,board,deck);
  assertFalse(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),7);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  Hero hero=board.data_.getHero_p0();
  ret=hero.useHeroAbility(0,1,0,board,deck);
  assertTrue(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),7);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  minion.hasAttacked(false);
  ret=minion.attack(0,1,2,board,deck);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),8);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),0);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),5);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),6);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
  minion.hasAttacked(false);
  ret=hero.useHeroAbility(0,0,0,board,deck);
  assertFalse(ret == null);
  assertEquals(board.data_.getNumCards_hand(),1);
  assertEquals(board.data_.getNumMinions_p0(),2);
  assertEquals(board.data_.getNumMinions_p1(),2);
  assertEquals(board.data_.getMana_p0(),6);
  assertEquals(board.data_.getMana_p1(),8);
  assertEquals(board.data_.getHero_p0().getHealth(),30);
  assertEquals(board.data_.getHero_p1().getHealth(),28);
  assertEquals(board.data_.getHero_p0().getArmor(),0);
  assertEquals(board.data_.getHero_p1().getArmor(),0);
  assertEquals(board.data_.getHero_p0().getAttack(),1);
  assertEquals(board.data_.getHero_p1().getAttack(),0);
  assertEquals(board.data_.getHero_p0().getWeaponCharge(),2);
  assertEquals(board.data_.getHero_p1().getWeaponCharge(),0);
  assertEquals(board.data_.getMinion_p0(0).getHealth(),0);
  assertEquals(board.data_.getMinion_p0(1).getHealth(),7);
  assertEquals(board.data_.getMinion_p1(0).getHealth(),2);
  assertEquals(board.data_.getMinion_p1(1).getHealth(),5);
  assertEquals(board.data_.getMinion_p0(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p0(1).getAttack(),6);
  assertEquals(board.data_.getMinion_p1(0).getAttack(),2);
  assertEquals(board.data_.getMinion_p1(1).getAttack(),7);
}