anchor.diff:      });
   
       testWithoutContext('should be up to date, if all cached artifacts are', () async {
  -      final CachedArtifact artifact1 = MockCachedArtifact();
  -      final CachedArtifact artifact2 = MockCachedArtifact();
  +      final FakeSecondayCachedArtifact artifact1 = FakeSecondayCachedArtifact()
  +        ..upToDate = true;
  +      final FakeSecondayCachedArtifact artifact2 = FakeSecondayCachedArtifact()
  +        ..upToDate = true;
         final FileSystem fileSystem = MemoryFileSystem.test();
  -
  -      when(artifact1.isUpToDate(fileSystem)).thenAnswer((Invocation _) => Future<bool>.value(true));
  -      when(artifact2.isUpToDate(fileSystem)).thenAnswer((Invocation _) => Future<bool>.value(true));
         final Cache cache = Cache.test(
           fileSystem: fileSystem,
           artifacts: <CachedArtifact>[artifact1, artifact2],
  
positive.code:   Future<void> updateInner(ArtifactUpdater artifactUpdater, FileSystem fileSystem, OperatingSystemUtils operatingSystemUtils) async { }
  }
  
  class MockCachedArtifact extends Mock implements CachedArtifact {}
  class MockIosUsbArtifacts extends Mock implements IosUsbArtifacts {}
  class MockCache extends Mock implements Cache {}
  
  class FakeVersionedPackageResolver extends Fake implements VersionedPackageResolver {
  
negative.code:       );
  
        await cache.updateAll(<DevelopmentArtifact>{
          DevelopmentArtifact.universal,
        });
        expect(artifact1.didUpdate, false);
        expect(artifact2.didUpdate, true);
      });
  
      testWithoutContext("getter dyLdLibEntry concatenates the output of each artifact's dyLdLibEntry getter", () async {
        final FakeIosUsbArtifacts artifact1 = FakeIosUsbArtifacts();
        final FakeIosUsbArtifacts artifact2 = FakeIosUsbArtifacts();
        final FakeIosUsbArtifacts artifact3 = FakeIosUsbArtifacts();
        artifact1.environment = <String, String>{
          'DYLD_LIBRARY_PATH': '/path/to/alpha:/path/to/beta',
        };
        artifact2.environment = <String, String>{
          'DYLD_LIBRARY_PATH': '/path/to/gamma:/path/to/delta:/path/to/epsilon',
        };
        artifact3.environment = <String, String>{
          'DYLD_LIBRARY_PATH': '',
        };
        final Cache cache = Cache.test(
          artifacts: <CachedArtifact>[artifact1, artifact2, artifact3],
          processManager: FakeProcessManager.any(),
  