use of com.google.api.ads.adwords.axis.v201809.cm.ProductDimension in project googleads-java-lib by googleads.
the class BaseProductDimensionComparatorTest method testCompareUnsupportedDimensionTypes_bothNonNull_fails.
/**
* Tests that the comparator throws an IllegalArgumentException when passed two non-null instances
* of an unsupported subclass of ProductDimension.
*/
@Test
public void testCompareUnsupportedDimensionTypes_bothNonNull_fails() {
// Compare two instances of the subclass.
ProductDimension otherTypeOfDimension1 = new UnsupportedDimensionType();
ProductDimension otherTypeOfDimension2 = new UnsupportedDimensionType();
thrown.expect(IllegalArgumentException.class);
comparator.compare(otherTypeOfDimension1, otherTypeOfDimension2);
}
use of com.google.api.ads.adwords.axis.v201809.cm.ProductDimension in project googleads-java-lib by googleads.
the class BaseProductDimensionComparatorTest method testCompareToDifferentDimensionType.
@Test
public void testCompareToDifferentDimensionType() {
ProductDimension dimension = createOtherProductDimension();
ProductDimension otherTypeOfDimension = dimension instanceof ProductBrand ? ProductDimensions.createOfferId("abc") : ProductDimensions.createBrand("google");
assertThat("Comparing dimensions of different types should return a non-zero result", comparator.compare(dimension, otherTypeOfDimension), Matchers.not(0));
assertThat("Comparing dimensions of different types should return a non-zero result", comparator.compare(otherTypeOfDimension, dimension), Matchers.not(0));
}
use of com.google.api.ads.adwords.axis.v201809.cm.ProductDimension in project googleads-java-lib by googleads.
the class BaseProductDimensionComparatorTest method testOnlyOneNull.
@Test
public void testOnlyOneNull() {
ProductDimension dimension = createOtherProductDimension();
assertThat("Null should be greater than non-null", comparator.compare(null, dimension), Matchers.greaterThan(0));
assertThat("Non-null should be less than null", comparator.compare(dimension, null), Matchers.lessThan(0));
}
use of com.google.api.ads.adwords.axis.v201809.cm.ProductDimension in project googleads-java-lib by googleads.
the class BaseProductDimensionComparatorTest method testCompareUnsupportedDimensionTypes_secondNonNull_fails.
/**
* Tests that the comparator throws an IllegalArgumentException when passed null as the first
* argument, and a non-null instance of an unsupported subclass of ProductDimension as the second
* argument.
*/
@Test
public void testCompareUnsupportedDimensionTypes_secondNonNull_fails() {
// Compare null to an unsupported type.
ProductDimension unsupportedTypeOfDimension = new UnsupportedDimensionType();
thrown.expect(IllegalArgumentException.class);
comparator.compare(null, unsupportedTypeOfDimension);
}
use of com.google.api.ads.adwords.axis.v201809.cm.ProductDimension in project googleads-java-lib by googleads.
the class AddProductScope method runExample.
/**
* Runs the example.
*
* @param adWordsServices the services factory.
* @param session the session.
* @param campaignId the ID of the shopping campaign.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session, Long campaignId) throws RemoteException {
// Get the campaign criterion service.
CampaignCriterionServiceInterface campaignCriterionService = adWordsServices.get(session, CampaignCriterionServiceInterface.class);
ProductScope productScope = new ProductScope();
// This set of dimensions is for demonstration purposes only. It would be
// extremely unlikely that you want to include so many dimensions in your
// product scope.
ProductBrand productBrand = new ProductBrand();
productBrand.setValue("Nexus");
ProductCanonicalCondition productCanonicalCondition = new ProductCanonicalCondition();
productCanonicalCondition.setCondition(ProductCanonicalConditionCondition.NEW);
ProductCustomAttribute productCustomAttribute = new ProductCustomAttribute();
productCustomAttribute.setType(ProductDimensionType.CUSTOM_ATTRIBUTE_0);
productCustomAttribute.setValue("my attribute value");
ProductOfferId productOfferId = new ProductOfferId();
productOfferId.setValue("book1");
ProductType productTypeLevel1Media = new ProductType();
productTypeLevel1Media.setType(ProductDimensionType.PRODUCT_TYPE_L1);
productTypeLevel1Media.setValue("Media");
ProductType productTypeLevel2Books = new ProductType();
productTypeLevel2Books.setType(ProductDimensionType.PRODUCT_TYPE_L2);
productTypeLevel2Books.setValue("Books");
// The value for the bidding category is a fixed ID for the 'Luggage & Bags'
// category. You can retrieve IDs for categories from the ConstantDataService.
// See the 'GetProductCategoryTaxonomy' example for more details.
ProductBiddingCategory productBiddingCategory = new ProductBiddingCategory();
productBiddingCategory.setType(ProductDimensionType.BIDDING_CATEGORY_L1);
productBiddingCategory.setValue(-5914235892932915235L);
productScope.setDimensions(new ProductDimension[] { productBrand, productCanonicalCondition, productCustomAttribute, productOfferId, productTypeLevel1Media, productTypeLevel2Books, productBiddingCategory });
CampaignCriterion campaignCriterion = new CampaignCriterion();
campaignCriterion.setCampaignId(campaignId);
campaignCriterion.setCriterion(productScope);
// Create operation.
CampaignCriterionOperation criterionOperation = new CampaignCriterionOperation();
criterionOperation.setOperand(campaignCriterion);
criterionOperation.setOperator(Operator.ADD);
// Make the mutate request.
CampaignCriterionReturnValue result = campaignCriterionService.mutate(new CampaignCriterionOperation[] { criterionOperation });
// Display the result.
System.out.printf("Created a ProductScope criterion with ID %d.%n", result.getValue(0).getCriterion().getId());
}
Aggregations