### Question:
ArchivaProject extends BaseContentItem implements Project { public static WithNamespaceObjectBuilder withAsset( StorageAsset storageAsset ) { return new Builder( ).withAsset( storageAsset ); } private  ArchivaProject( ); static WithNamespaceObjectBuilder withAsset( StorageAsset storageAsset ); static WithAssetBuilder<WithNamespaceObjectBuilder> withRepository( ManagedRepositoryContent repository ); @Override Namespace getNamespace( ); @Override String getId( ); @Override boolean equals( Object o ); @Override int hashCode( ); @Override String toString( );  }### Answer:
@Test void illegalNamespace() { WithNamespaceObjectBuilder builder = ArchivaProject.withAsset( asset ); assertThrows( IllegalArgumentException.class, ( ) -> builder.withNamespace( null ) ); }
@Test void illegalId() { ProjectWithIdBuilder builder = ArchivaProject.withAsset( asset ).withNamespace( namespace ); assertThrows( IllegalArgumentException.class, ( ) -> builder.withId( null ) ); assertThrows( IllegalArgumentException.class, ( ) -> builder.withId( "" ) ); }