test_class.declarator: requestBanner = BidRequest.newBuilder()
        .setId("1")
        .addAllBadv(asList("adv1.com", "adv2.com"))
        .addAllBcat(asList("IAB1", "IAB2"))
        .addImp(Imp.newBuilder()
            .setId("1")
            .setBanner(Banner.newBuilder()
                .setId("1")
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))))
        .build()
test_class.modifier: private static
test_class.original_string: private static BidRequest requestBanner = BidRequest.newBuilder()
        .setId("1")
        .addAllBadv(asList("adv1.com", "adv2.com"))
        .addAllBcat(asList("IAB1", "IAB2"))
        .addImp(Imp.newBuilder()
            .setId("1")
            .setBanner(Banner.newBuilder()
                .setId("1")
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))))
        .build();
test_class.type: BidRequest
test_class.var_name: requestBanner
test_class.declarator: requestVideo = BidRequest.newBuilder()
        .setId("1")
        .addImp(Imp.newBuilder()
            .setId("1")
            .setVideo(Video.newBuilder()
                .setLinearity(VideoLinearity.LINEAR)
                .addProtocols(Protocol.VAST_3_0)
                .setMinduration(0)
                .setMaxduration(0)
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))
                .addCompanionad(Banner.newBuilder()
                    .setId("1")
                    .addAllBattr(asList(CreativeAttribute.TEXT_ONLY)))))
        .build()
test_class.modifier: private static
test_class.original_string: private static BidRequest requestVideo = BidRequest.newBuilder()
        .setId("1")
        .addImp(Imp.newBuilder()
            .setId("1")
            .setVideo(Video.newBuilder()
                .setLinearity(VideoLinearity.LINEAR)
                .addProtocols(Protocol.VAST_3_0)
                .setMinduration(0)
                .setMaxduration(0)
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))
                .addCompanionad(Banner.newBuilder()
                    .setId("1")
                    .addAllBattr(asList(CreativeAttribute.TEXT_ONLY)))))
        .build();
test_class.type: BidRequest
test_class.var_name: requestVideo
test_class.declarator: requestAudio = BidRequest.newBuilder()
        .setId("1")
        .addImp(Imp.newBuilder()
            .setId("1")
            .setAudio(Audio.newBuilder()
                .addProtocols(Protocol.VAST_3_0)
                .setMinduration(0)
                .setMaxduration(0)
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))
                .addCompanionad(Banner.newBuilder()
                    .setId("1")
                    .addAllBattr(asList(CreativeAttribute.TEXT_ONLY)))))
        .build()
test_class.modifier: private static
test_class.original_string: private static BidRequest requestAudio = BidRequest.newBuilder()
        .setId("1")
        .addImp(Imp.newBuilder()
            .setId("1")
            .setAudio(Audio.newBuilder()
                .addProtocols(Protocol.VAST_3_0)
                .setMinduration(0)
                .setMaxduration(0)
                .addAllBattr(asList(CreativeAttribute.ANNOYING, CreativeAttribute.POP))
                .addCompanionad(Banner.newBuilder()
                    .setId("1")
                    .addAllBattr(asList(CreativeAttribute.TEXT_ONLY)))))
        .build();
test_class.type: BidRequest
test_class.var_name: requestAudio
test_class.declarator: metricRegistry
test_class.modifier: private
test_class.original_string: private MetricRegistry metricRegistry;
test_class.type: MetricRegistry
test_class.var_name: metricRegistry
test_class.declarator: validator
test_class.modifier: private
test_class.original_string: private OpenRtbValidator validator;
test_class.type: OpenRtbValidator
test_class.var_name: validator
test_class.file: openrtb-core/src/test/java/com/google/openrtb/util/OpenRtbValidatorTest.java
test_class.identifier: OpenRtbValidatorTest
test_case.body: @Test
    public void testAudioBlockedCreativeAttribute() {
      BidResponse.Builder response = testResponse(testBid()
          .addAllAdomain(asList("adv0.com", "adv2.com", "adv3.com"))
          .addAllAttr(asList(CreativeAttribute.SURVEYS, CreativeAttribute.ANNOYING)));
      validator.validate(requestAudio, response);
      assertThat(OpenRtbUtils.bids(response)).isEmpty();
    }
test_case.class_method_signature: OpenRtbValidatorTest.testAudioBlockedCreativeAttribute()
test_case.full_signature: @Test public void testAudioBlockedCreativeAttribute()
test_case.identifier: testAudioBlockedCreativeAttribute
test_case.invocations: testResponse addAllAttr addAllAdomain testBid asList asList validate isEmpty assertThat bids
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAudioBlockedCreativeAttribute()
focal_class.declarator: logger = LoggerFactory.getLogger(OpenRtbValidator.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(OpenRtbValidator.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: unmatchedImp = new Counter()
focal_class.modifier: private final
focal_class.original_string: private final Counter unmatchedImp = new Counter();
focal_class.type: Counter
focal_class.var_name: unmatchedImp
focal_class.declarator: invalidCreatAttr = new Counter()
focal_class.modifier: private final
focal_class.original_string: private final Counter invalidCreatAttr = new Counter();
focal_class.type: Counter
focal_class.var_name: invalidCreatAttr
focal_class.declarator: invalidAdv = new Counter()
focal_class.modifier: private final
focal_class.original_string: private final Counter invalidAdv = new Counter();
focal_class.type: Counter
focal_class.var_name: invalidAdv
focal_class.file: openrtb-core/src/main/java/com/google/openrtb/util/OpenRtbValidator.java
focal_class.identifier: OpenRtbValidator
focal_class.class_method_signature: OpenRtbValidator.OpenRtbValidator(MetricRegistry metricRegistry)
focal_class.full_signature: @Inject public  OpenRtbValidator(MetricRegistry metricRegistry)
focal_class.identifier: OpenRtbValidator
focal_class.modifiers: @Inject public
focal_class.parameters: (MetricRegistry metricRegistry)
focal_class.signature:  OpenRtbValidator(MetricRegistry metricRegistry)
focal_class.class_method_signature: OpenRtbValidator.validate(BidRequest request, BidResponse.Builder response)
focal_class.full_signature: public boolean validate(BidRequest request, BidResponse.Builder response)
focal_class.identifier: validate
focal_class.modifiers: public
focal_class.parameters: (BidRequest request, BidResponse.Builder response)
focal_class.return: boolean
focal_class.signature: boolean validate(BidRequest request, BidResponse.Builder response)
focal_class.class_method_signature: OpenRtbValidator.validate(BidRequest request, Bid.Builder bid)
focal_class.full_signature: public boolean validate(BidRequest request, Bid.Builder bid)
focal_class.identifier: validate
focal_class.modifiers: public
focal_class.parameters: (BidRequest request, Bid.Builder bid)
focal_class.return: boolean
focal_class.signature: boolean validate(BidRequest request, Bid.Builder bid)
focal_class.class_method_signature: OpenRtbValidator.validateCreats(Bid.Builder bid, List<CreativeAttribute> badCreats)
focal_class.full_signature: protected boolean validateCreats(Bid.Builder bid, List<CreativeAttribute> badCreats)
focal_class.identifier: validateCreats
focal_class.modifiers: protected
focal_class.parameters: (Bid.Builder bid, List<CreativeAttribute> badCreats)
focal_class.return: boolean
focal_class.signature: boolean validateCreats(Bid.Builder bid, List<CreativeAttribute> badCreats)
focal_class.class_method_signature: OpenRtbValidator.validateCompanions(Bid.Builder bid, List<Banner> companions)
focal_class.full_signature: protected boolean validateCompanions(Bid.Builder bid, List<Banner> companions)
focal_class.identifier: validateCompanions
focal_class.modifiers: protected
focal_class.parameters: (Bid.Builder bid, List<Banner> companions)
focal_class.return: boolean
focal_class.signature: boolean validateCompanions(Bid.Builder bid, List<Banner> companions)
focal_class.class_method_signature: OpenRtbValidator.logId(Bid.Builder bid)
focal_class.full_signature: protected static String logId(Bid.Builder bid)
focal_class.identifier: logId
focal_class.modifiers: protected static
focal_class.parameters: (Bid.Builder bid)
focal_class.return: String
focal_class.signature: String logId(Bid.Builder bid)
focal_class.class_method_signature: OpenRtbValidator.check(List<T> reqAttrs, List<T> respAttrs)
focal_class.full_signature: protected static List<T> check(List<T> reqAttrs, List<T> respAttrs)
focal_class.identifier: check
focal_class.modifiers: protected static
focal_class.parameters: (List<T> reqAttrs, List<T> respAttrs)
focal_class.return: List<T>
focal_class.signature: List<T> check(List<T> reqAttrs, List<T> respAttrs)
focal_method.body: public boolean validate(BidRequest request, BidResponse.Builder response) {
      return !OpenRtbUtils.removeBids(response, bid -> validate(request, bid));
    }
focal_method.class_method_signature: OpenRtbValidator.validate(BidRequest request, BidResponse.Builder response)
focal_method.full_signature: public boolean validate(BidRequest request, BidResponse.Builder response)
focal_method.identifier: validate
focal_method.invocations: removeBids validate
focal_method.modifiers: public
focal_method.parameters: (BidRequest request, BidResponse.Builder response)
focal_method.return: boolean
focal_method.signature: boolean validate(BidRequest request, BidResponse.Builder response)