public void Get_should_add_entry_for_extension_once()
        {
            _iconProvider = new FileAssociatedIconProvider(); // use real file system
            _iconProvider.ResetCache();

            var    tempFile = Path.GetTempFileName();
            string folder   = Path.GetDirectoryName(tempFile);
            string file     = Path.GetFileName(tempFile);

            _iconProvider.CacheCount.Should().Be(0);
            _iconProvider.Get(folder, file);
            _iconProvider.Get(folder, file);
            _iconProvider.Get(folder, file);
            _iconProvider.Get(folder, file);
            _iconProvider.CacheCount.Should().Be(1);

            try
            {
                File.Delete(tempFile);
            }
            catch
            {
                // do nothing
            }
        }
 public void Setup()
 {
     _file       = Substitute.For <FileBase>();
     _fileSystem = Substitute.For <IFileSystem>();
     _fileSystem.File.Returns(_file);
     _iconProvider = new FileAssociatedIconProvider(_fileSystem);
     _iconProvider.ResetCache();
 }