function checkDuplicateTestCase(item, seenTestCases) {
			if (!isSerializable(item)) {
				/*
				 * If we can't serialize a test case (because it contains a function, RegExp, etc), skip the check.
				 * This might happen with properties like: options, plugins, settings, languageOptions.parser, languageOptions.parserOptions.
				 */
				return;
			}

			const normalizedItem =
				typeof item === "string" ? { code: item } : item;
			const serializedTestCase = stringify(normalizedItem, {
				replacer(key, value) {
					// "this" is the currently stringified object --> only ignore top-level properties
					return normalizedItem !== this ||
						!duplicationIgnoredParameters.has(key)
						? value
						: void 0;
				},
			});

			assert(
				!seenTestCases.has(serializedTestCase),
				"detected duplicate test case",
			);
			seenTestCases.add(serializedTestCase);
		}
Check if this test case is a duplicate of one we have seen before.
@param {string|Object} item test case object
@param {Set<string>} seenTestCases set of serialized test cases we have seen so far (managed by this function)
@returns {void}
@private