anchor.diff:        globals.fs.directory(studioInApplicationPlistFolder).createSync(recursive: true);
   
         final String plistFilePath = globals.fs.path.join(studioInApplicationPlistFolder, 'Info.plist');
  -      when(plistUtils.parseFile(plistFilePath)).thenReturn(macStudioInfoPlist);
  +      plistUtils.fileContents[plistFilePath] = macStudioInfoPlist;
         final AndroidStudio studio = AndroidStudio.fromMacOSBundle(
           globals.fs.directory(studioInApplicationPlistFolder)?.parent?.path,
         );
  
positive.code:         jetbrainsStudioInApplicationPlistFolder,
          'Info.plist',
        );
        when(plistUtils.parseFile(jetbrainsPlistFilePath)).thenReturn(jetbrainsInfoPlist);
  
        final String studioInApplicationPlistFolder = globals.fs.path.join(
          globals.fs.path.join(homeMac,'Library','Application Support'),
  
negative.code:     });
    });
  }
  
  class FakePlistUtils extends Fake implements PlistParser {
    final Map<String, Map<String, dynamic>> fileContents = <String, Map<String, dynamic>>{};
  
    @override
    Map<String, dynamic> parseFile(String plistFilePath) {
      return fileContents[plistFilePath];
    }
  }
  