public void setContract(@Nullable Produce contract)
	{
		this.contract = contract;
		setStoredContract(contract);
		handleContractState();
	}
@Test
	public void cabbageContractOnionHarvestableAndCabbageHarvestable()
	{
		final long unixNow = Instant.now().getEpochSecond();

		// Get the two allotment patches
		final FarmingPatch patch1 = farmingGuildPatches.get(Varbits.FARMING_4773);
		final FarmingPatch patch2 = farmingGuildPatches.get(Varbits.FARMING_4774);

		assertNotNull(patch1);
		assertNotNull(patch2);

		// Specify the two allotment patches
		when(farmingTracker.predictPatch(patch1))
			.thenReturn(new PatchPrediction(Produce.ONION, CropState.HARVESTABLE, unixNow, 3, 3));
		when(farmingTracker.predictPatch(patch2))
			.thenReturn(new PatchPrediction(Produce.CABBAGE, CropState.HARVESTABLE, unixNow, 3, 3));

		farmingContractManager.setContract(Produce.CABBAGE);

		assertEquals(SummaryState.COMPLETED, farmingContractManager.getSummary());
	}