/** Returns the single {@code SampleTypeConfiguration} for the specified {@code sampleType}. */ private List<SampleTypeConfiguration> getConfigFor(SampleType sampleType) { switch (sampleType) { case STANDALONE: return sampleConfiguration.getStandaloneList(); case IN_CODE: return sampleConfiguration.getInCodeList(); case EXPLORER: return sampleConfiguration.getApiExplorerList(); default: throw new IllegalArgumentException("unhandled SampleType: " + sampleType.toString()); } } }
.addSampleValueSets(valueSetAlison) .setSamples( SampleConfiguration.newBuilder() .addStandalone( SampleTypeConfiguration.newBuilder()
@Test public void valueSetsReferencedMultipleTimes() { final MethodConfigProto methodConfigProto = MethodConfigProto.newBuilder() .addSampleValueSets(SampleValueSet.newBuilder().setId("alice")) .addSampleValueSets(SampleValueSet.newBuilder().setId("bob")) .setSamples( SampleConfiguration.newBuilder() .addStandalone( SampleTypeConfiguration.newBuilder() .addValueSets("alice") .addCallingForms(".*")) .addStandalone( SampleTypeConfiguration.newBuilder() .addValueSets("bob") .addCallingForms(".*")) .addStandalone( SampleTypeConfiguration.newBuilder() .addValueSets("alice") .addCallingForms(".*"))) .build(); SampleSpec sampleSpec = new SampleSpec(methodConfigProto); assertThat(sampleSpec.getMatchingValueSets(CallingForm.Request, SampleType.STANDALONE)) .hasSize(3); } }
@Test(expected = IllegalArgumentException.class) public void storingDuplicateValueSets() { final MethodConfigProto methodConfigProto = MethodConfigProto.newBuilder() .addSampleValueSets(SampleValueSet.newBuilder().setId("alice")) .addSampleValueSets(SampleValueSet.newBuilder().setId("bob")) .addSampleValueSets(SampleValueSet.newBuilder().setId("alice")) .setSamples( SampleConfiguration.newBuilder() .addStandalone( SampleTypeConfiguration.newBuilder() .addValueSets("alice") .addCallingForms(".*")) .addStandalone( SampleTypeConfiguration.newBuilder() .addValueSets("bob") .addCallingForms(".*"))) .build(); SampleSpec sampleSpec = new SampleSpec(methodConfigProto); }