public void TestForking2()
{
// Check that if the chain forks and new coins are received in the alternate chain our balance goes up
// after the re-org takes place.
var b1 = _unitTestParams.GenesisBlock.CreateNextBlock(_someOtherGuy);
var b2 = b1.CreateNextBlock(_someOtherGuy);
Assert.IsTrue(_chain.Add(b1));
Assert.IsTrue(_chain.Add(b2));
// genesis -> b1 -> b2
// \-> b3 -> b4
Assert.AreEqual(0UL, _wallet.GetBalance());
var b3 = b1.CreateNextBlock(_coinbaseTo);
var b4 = b3.CreateNextBlock(_someOtherGuy);
Assert.IsTrue(_chain.Add(b3));
Assert.AreEqual(0UL, _wallet.GetBalance());
Assert.IsTrue(_chain.Add(b4));
Assert.AreEqual("50.00", Utils.BitcoinValueToFriendlyString(_wallet.GetBalance()));
}