function yearTests (zone) {
	var changeTests = {};

	// Fixed-offset zones (like `Etc/GMT-2`) only have a single `null` until value.
	// We pick a fixed timestamp for those cases, using the Unix epoch.
	if (zone.untils.length === 1 && zone.untils[0] === null) {
		var fixedUntil = Object.assign({}, zone, { untils: [0] })
		changeTests[1970] = [changeTest(fixedUntil, 0)];
	} else {
		zone.untils.forEach(function (until, i) {
			var year = moment.utc(until).year();
			changeTests[year] = changeTests[year] || [];
			changeTests[year].push(changeTest(zone, i));
		});
	}

	return Object.keys(changeTests).map(function (year) {
		return yearTest(year, changeTests[year], zone.name);
	}).join(',\n\n');
}
Creates tests for all time changes in a timezone