001/* 002 * Copyright (C) 2022 - 2024, the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package io.github.ascopes.jct.assertions; 017 018import io.github.ascopes.jct.containers.OutputContainerGroup; 019import org.jspecify.annotations.Nullable; 020 021/** 022 * Assertions for output container groups. 023 * 024 * @author Ashley Scopes 025 * @since 0.0.1 026 */ 027public final class OutputContainerGroupAssert 028 extends AbstractContainerGroupAssert<OutputContainerGroupAssert, OutputContainerGroup> { 029 030 /** 031 * Initialize the container group assertions. 032 * 033 * @param containerGroup the container group to assert upon. 034 * @throws AssertionError if the container group is null. 035 */ 036 public OutputContainerGroupAssert(@Nullable OutputContainerGroup containerGroup) { 037 super(containerGroup, OutputContainerGroupAssert.class); 038 } 039 040 /** 041 * Get assertions to perform on package-oriented paths within this location. 042 * 043 * @return the package-oriented assertions. 044 * @throws AssertionError if the container group is null. 045 */ 046 public PackageContainerGroupAssert packages() { 047 isNotNull(); 048 049 return new PackageContainerGroupAssert(actual); 050 } 051 052 /** 053 * Get assertions to perform on module-oriented paths within this location. 054 * 055 * @return the module-oriented assertions. 056 * @throws AssertionError if the container group is null. 057 */ 058 public ModuleContainerGroupAssert modules() { 059 isNotNull(); 060 061 return new ModuleContainerGroupAssert(actual); 062 } 063}