### Question:
MavenProjectProperties implements ProjectProperties { @VisibleForTesting Set<Artifact> getProjectDependencies() { return session .getProjects() .stream() .map(MavenProject::getArtifact) .filter(artifact -> !artifact.equals(project.getArtifact())) .filter(artifact -> artifact.getFile() != null) .collect(Collectors.toSet()); } @VisibleForTesting  MavenProjectProperties(
      PluginDescriptor jibPluginDescriptor,
      MavenProject project,
      MavenSession session,
      Log log,
      TempDirectoryProvider tempDirectoryProvider,
      Supplier<List<JibMavenPluginExtension<?>>> extensionLoader); static MavenProjectProperties getForProject(
      PluginDescriptor jibPluginDescriptor,
      MavenProject project,
      MavenSession session,
      Log log,
      TempDirectoryProvider tempDirectoryProvider); @Nullable static String getProperty(
      String propertyName, @Nullable MavenProject project, @Nullable MavenSession session); @Override JibContainerBuilder createJibContainerBuilder(
      JavaContainerBuilder javaContainerBuilder, ContainerizingMode containerizingMode); @Override List<Path> getClassFiles(); @Override void waitForLoggingThread(); @Override void configureEventHandlers(Containerizer containerizer); @Override void log(LogEvent logEvent); @Override String getToolName(); @Override String getToolVersion(); @Override String getPluginName(); @Nullable @Override String getMainClassFromJarPlugin(); @Override Path getDefaultCacheDirectory(); @Override String getJarPluginName(); @Override boolean isWarProject(); @Override String getName(); @Override String getVersion(); @Override int getMajorJavaVersion(); @Override boolean isOffline(); @Override JibContainerBuilder runPluginExtensions(
      List<? extends ExtensionConfiguration> extensionConfigs,
      JibContainerBuilder jibContainerBuilder); static final String PLUGIN_NAME; static final String PLUGIN_KEY; }### Answer:
@Test public void testGetProjectDependencies() { MavenProject rootPomProject = Mockito.mock(MavenProject.class); MavenProject jibSubModule = Mockito.mock(MavenProject.class); MavenProject sharedLibSubModule = Mockito.mock(MavenProject.class); Mockito.when(mockMavenSession.getProjects()) .thenReturn(Arrays.asList(rootPomProject, sharedLibSubModule, jibSubModule)); Artifact nullFileArtifact = Mockito.mock(Artifact.class); Artifact projectJar = newArtifact("com.test", "my-app", "1.0"); Artifact sharedLibJar = newArtifact("com.test", "shared-lib", "1.0"); Mockito.when(rootPomProject.getArtifact()).thenReturn(nullFileArtifact); Mockito.when(jibSubModule.getArtifact()).thenReturn(projectJar); Mockito.when(sharedLibSubModule.getArtifact()).thenReturn(sharedLibJar); Mockito.when(mockMavenProject.getArtifact()).thenReturn(projectJar); Assert.assertEquals( ImmutableSet.of(sharedLibJar), mavenProjectProperties.getProjectDependencies()); }