/** Tests populateMasterCatalog. */
  @Test(expected = PopulationRollbackException.class)
  public void testPopulateMasterCatalog() {
    final String goodCatalogCode = "goodCatalog";
    final String baddCatalogCode = "baddCatalog";

    final Catalog mockCatalog = context.mock(Catalog.class);
    final Category mockCategory = context.mock(Category.class);

    context.checking(
        new Expectations() {
          {
            oneOf(mockCachingService).findCatalogByCode(goodCatalogCode);
            will(returnValue(mockCatalog));
            oneOf(mockCachingService).findCatalogByCode(baddCatalogCode);
            will(returnValue(null));
            oneOf(mockCatalog).isMaster();
            will(returnValue(true));

            oneOf(mockCategory).setCatalog(mockCatalog);
            oneOf(mockCategory).setVirtual(false);
          }
        });

    categoryAdapter.populateMasterCatalog(mockCategory, goodCatalogCode);

    categoryAdapter.populateMasterCatalog(mockCategory, baddCatalogCode);
  }