### Question:
ExperimentSet { public static ExperimentSet fromJson(Reader reader) { ExperimentSet experimentSet = GSON.fromJson(reader, ExperimentSet.class); for (Map.Entry<String, Experiment> e : experimentSet.getExperiments().entrySet()) { e.getValue().setName(e.getKey()); } int maxRows = experimentSet.getMaxRows(); if (maxRows < 0) { throw new IllegalArgumentException("At least one of the scorers must have " + "the 'atN' param set to a value >= 0"); } return experimentSet; } ExperimentSet();  ExperimentSet(ExperimentConfig experimentConfig); void addExperiment(Experiment experiment); void addScorer(Scorer scorer); Map<String, Experiment> getExperiments(); ExperimentConfig getExperimentConfig(); String toJson(); String toJson(List<String> experiments); static ExperimentSet fromJson(Reader reader); Experiment getExperiment(String experimentName); List<Scorer> getScorers(); List<SearchResultSetScorer> getSearchResultSetScorers(); int getMaxRows(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testBadAtN() throws Exception { Assertions.assertThrows(IllegalArgumentException.class, () -> { try (Reader reader = new BufferedReader(new InputStreamReader( TestExperimentSet.class.getResourceAsStream( "/test-documents/experiments_solr_no_atN.json"), StandardCharsets.UTF_8))) { ExperimentSet.fromJson(reader); } }); }