public void RemoveContentsOfProjectFolder(MockFileSystem fs, FakeLevelsProvider provider, Level level, string user)
        {
            var initializer = new MasterFolderLevelInitializer(new MockLevelInitializationDeterminer(false), new MockCopyDir(), provider, fs.Path);

            initializer.Clean(level.Id, user);

            Assert.Empty(fs.Directory.EnumerateFileSystemEntries("C:\\" + level.GetProjectFolder(user)));
        }
        public void UnmarkUserFolder(FakeLevelsProvider provider, string levelId, string user, string expectedUserFolder)
        {
            var determiner  = new MockLevelInitializationDeterminer(false, true);
            var initializer = new MasterFolderLevelInitializer(determiner, new MockCopyDir(), provider, new MockPath(new MockFileSystem()));

            //This Assert.Throws code is necessary, as we are not testing for any actual IO operations
            Assert.Throws <DirectoryNotFoundException>(() => initializer.Clean(levelId, user));

            Assert.False(determiner.IsMarkedAsInitialized);
            Assert.Equal(expectedUserFolder, determiner.SuppliedUserFolderPath);
        }