public void SetData(IDataSourceAdapter adapter, DoomLauncher.AppConfiguration appConfig) { this.DataSourceAdapter = adapter; this.AppConfiguration = appConfig; this.PopulateDefaultSettings(adapter); this.PopulateConfiguration(); }
public void TestInitialize() { _movies = new List <MovieDto>(); var movie = new MovieDto(); movie.Title = "Tom"; movie.Cast = new List <string> { "Bird", "Penguin" }; _movies.Add(movie); movie = new MovieDto(); movie.Title = "Tom Tom"; movie.Cast = new List <string> { "Abstraction", "NonConcreation" }; _movies.Add(movie); _dataSource = Mock.Of <IDataSourceAdapter>(); _searcher = Mock.Of <ISearchingService>(); _sorter = Mock.Of <ISortingService>(); _cache = Mock.Of <ICachingService>(); _dataService = new DataService(_dataSource, _sorter, _searcher, _cache); }
public void TestIWadSelect() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var iwads = CreateTestIWadList(); Assert.IsTrue(adapter.GetIWads().Count() == iwads.Count); }
public void Initialize(IDataSourceAdapter adapter, ITabView tabView, IEnumerable <IGameFileDataSource> gameFilesBind) { ITabView[] views = new ITabView[] { tabView }; this.Initialize(adapter, views); this.m_tabHandler.TabViews[0].SetGameFilesData(gameFilesBind); this.m_bOverrideInit = true; }
public static List <IIWadData> GetIWadsDataSource(IDataSourceAdapter adapter) { List <IIWadData> iwads = adapter.GetIWads().ToList(); iwads.ForEach(x => x.FileName = Path.GetFileNameWithoutExtension(x.FileName)); return(iwads); }
public void TestUpdate() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); List <ISourcePortData> allSourcePorts = new List <ISourcePortData>(); allSourcePorts.AddRange(adapter.GetSourcePorts()); allSourcePorts.AddRange(adapter.GetUtilities()); int somenumber = 100; foreach (var sourcePort in allSourcePorts) { sourcePort.Directory = new LauncherPath(sourcePort.Directory.GetPossiblyRelativePath() + somenumber.ToString()); sourcePort.Name += somenumber.ToString(); sourcePort.SettingsFiles += somenumber.ToString(); sourcePort.SupportedExtensions += somenumber.ToString(); adapter.UpdateSourcePort(sourcePort); var dbPort = adapter.GetSourcePort(sourcePort.SourcePortID); Assert.IsNotNull(dbPort); Assert.IsTrue(TestUtil.AllFieldsEqual(sourcePort, dbPort)); } }
protected async Task<List<IDataItem>> ReadDataAsync(IDataSourceAdapter sourceAdapter) { var results = new List<IDataItem>(); IDataItem dataItem; var readOutput = new ReadOutputByRef(); while (true) { try { dataItem = await sourceAdapter.ReadNextAsync(readOutput, CancellationToken.None); } catch (NonFatalReadException) { continue; } if (dataItem == null) break; results.Add(dataItem); Assert.IsNotNull(readOutput.DataItemId, CommonTestResources.MissingDataItemId); readOutput.Wipe(); } return results; }
public void Init(IDataSourceAdapter adapter) { this.m_adapter = adapter; this.dgvTags.DataSource = (from x in adapter.GetTags() orderby x.Name select x).ToList <ITagDataSource>(); }
public void TestGetFile() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var testFiles = CreateTestFiles(); var gameFileIDs = testFiles.Select(x => x.GameFileID).Distinct(); foreach (var id in gameFileIDs) { var dbFiles = adapter.GetFiles(new DoomLauncher.DataSources.GameFile() { GameFileID = id }); Assert.IsTrue(testFiles.Count(x => x.GameFileID == id) == dbFiles.Count()); foreach (var dbFile in dbFiles) { Assert.IsTrue(TestUtil.AllFieldsEqual(dbFile, testFiles.First(x => x.FileID == dbFile.FileID))); } for (int i = 1; i < 4; i++) { dbFiles = adapter.GetFiles(new DoomLauncher.DataSources.GameFile() { GameFileID = id }, (FileType)i); foreach (var dbFile in dbFiles) { Assert.IsNotNull(testFiles.FirstOrDefault(x => x.FileID == dbFile.FileID && x.FileTypeID == (FileType)i)); } } } }
public void TestUpdateFields() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var gameFiles = CreateTestFileList(); List <GameFileFieldType> fields = new List <GameFileFieldType>(); foreach (var enumValue in Enum.GetValues(typeof(GameFileFieldType))) { fields.Add((GameFileFieldType)enumValue); } var names = fields.Select(x => x.ToString()); PropertyInfo[] properties = typeof(TestGameFile).GetProperties().Where(x => names.Contains(x.Name)).ToArray(); SetRandomFileValues(gameFiles, properties); foreach (var gameFile in gameFiles) { adapter.UpdateGameFile(gameFile, fields.ToArray()); IGameFile gameFileFind = adapter.GetGameFile(gameFile.FileName); Assert.IsTrue(gameFileFind != null); Assert.IsTrue(TestUtil.AllFieldsEqual <IGameFile>(gameFile, gameFileFind)); } }
public void TestGetGameFileIWads() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var gameFileIwads = CreateTestIWadList(); Assert.IsTrue(adapter.GetGameFileIWads().Count() == gameFileIwads.Count); }
public void TestIWadExclude() { //if the iwad has a file attached to it because of a source port, that file should not be included when the iwad is selected //e.g. GZDoom has noendgame.wad User launched DOOM2.WAD with GZDoom. This adds noendgame to the additional files of DOOM2.WAD. //if the user selects DOOM2.WAD with another file (and not GZDoom as the port), noendgame.wad should not be added IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var mainFile = adapter.GetGameFile("COOLGAMEFILE.WAD"); FileLoadHandler handler = new FileLoadHandler(adapter, mainFile); Assert.AreEqual(3, handler.GetCurrentAdditionalFiles().Count); var iwad = adapter.GetGameFileIWads().First(x => x.FileName == "DOOM2.WAD"); var sourceport = adapter.GetSourcePorts().First(x => x.Name == "zdoom.exe"); iwad.SettingsFiles = "MOD4.WAD"; adapter.UpdateGameFile(iwad); handler.CalculateAdditionalFiles(iwad, sourceport); var gameFiles = handler.GetCurrentAdditionalFiles(); Assert.AreEqual(5, gameFiles.Count); Assert.IsNotNull(gameFiles.FirstOrDefault(x => x.FileName == "MOD4.WAD")); //now set up the file so it should be excluded iwad.SettingsFilesSourcePort = "MOD4.WAD"; adapter.UpdateGameFile(iwad); handler = new FileLoadHandler(adapter, mainFile); handler.CalculateAdditionalFiles(iwad, sourceport); gameFiles = handler.GetCurrentAdditionalFiles(); Assert.AreEqual(4, gameFiles.Count); Assert.IsNull(gameFiles.FirstOrDefault(x => x.FileName == "MOD4.WAD")); }
public void Initialize(IDataSourceAdapter adapter, AppConfiguration config) { DataSourceAdapter = adapter; ScreenshotDirectory = config.ScreenshotDirectory; SaveGameDirectory = config.SaveGameDirectory; ctrlScreenshotView.DataSourceAdapter = DataSourceAdapter; ctrlScreenshotView.DataDirectory = ScreenshotDirectory; ctrlScreenshotView.FileType = FileType.Screenshot; ctrlScreenshotView.SetContextMenu(BuildContextMenuStrip(ctrlScreenshotView)); ctrlScreenshotView.SetPictureWidth(Util.GetPreviewScreenshotWidth(config.ScreenshotPreviewSize)); ctrlSaveGameView.DataSourceAdapter = DataSourceAdapter; ctrlSaveGameView.DataDirectory = SaveGameDirectory; ctrlSaveGameView.FileType = FileType.SaveGame; ctrlSaveGameView.SetContextMenu(BuildContextMenuStrip(ctrlSaveGameView)); ctrlDemoView.DataSourceAdapter = DataSourceAdapter; ctrlDemoView.DataDirectory = config.DemoDirectory; ctrlDemoView.FileType = FileType.Demo; ctrlDemoView.SetContextMenu(BuildContextMenuStrip(ctrlDemoView)); ctrlViewStats.DataSourceAdapter = DataSourceAdapter; ctrlViewStats.SetContextMenu(BuildContextMenuStrip(ctrlViewStats)); SetButtonsEnabled(CurrentView); }
public void TestSelectFields() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var gameFiles = CreateTestFileList(); var selectGameFiles = adapter.GetGameFiles(new GameFileGetOptions(s_fields)); foreach (var gameFile in gameFiles) { var selectGameFile = selectGameFiles.FirstOrDefault(x => x.GameFileID == gameFile.GameFileID); Assert.IsNotNull(selectGameFile); Assert.IsTrue(selectGameFile.SettingsExtraParams.Length == 0); Assert.IsTrue(selectGameFile.SettingsFiles.Length == 0); Assert.IsTrue(selectGameFile.SettingsMap.Length == 0); Assert.IsTrue(selectGameFile.SettingsSkill.Length == 0); Assert.IsTrue(selectGameFile.SettingsSpecificFiles.Length == 0); Assert.IsTrue(selectGameFile.FileName.Equals(gameFile.FileName)); Assert.IsTrue(selectGameFile.Author.Equals(gameFile.Author)); Assert.IsTrue(selectGameFile.Title.Equals(gameFile.Title)); Assert.IsTrue(selectGameFile.Description.Equals(gameFile.Description)); Assert.IsTrue(selectGameFile.Downloaded.Equals(gameFile.Downloaded)); Assert.IsTrue(selectGameFile.LastPlayed.Equals(gameFile.LastPlayed)); Assert.IsTrue(selectGameFile.ReleaseDate.Equals(gameFile.ReleaseDate)); Assert.IsTrue(selectGameFile.Comments.Equals(gameFile.Comments)); Assert.IsTrue(selectGameFile.Rating.Equals(gameFile.Rating)); Assert.IsTrue(selectGameFile.MapCount.Equals(gameFile.MapCount)); Assert.IsTrue(selectGameFile.MinutesPlayed.Equals(gameFile.MinutesPlayed)); Assert.IsTrue(selectGameFile.IWadID.Equals(gameFile.IWadID)); } }
public void TestHandlerIWad() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); FileLoadHandler handler = new FileLoadHandler(adapter, adapter.GetGameFile("COOLGAMEFILE.WAD")); Assert.AreEqual(3, handler.GetCurrentAdditionalFiles().Count); var iwad = adapter.GetGameFileIWads().First(x => x.FileName == "PLUTONIA.WAD"); var sourceport = adapter.GetSourcePorts().First(x => x.Name == "odamex.exe"); //no additional files for port handler.CalculateAdditionalFiles(iwad, sourceport); var gameFiles = handler.GetCurrentAdditionalFiles(); Assert.AreEqual(4, gameFiles.Count); Assert.IsNotNull(gameFiles.FirstOrDefault(x => x.FileName == "IWADMOD1.WAD")); //no change handler.CalculateAdditionalFiles(iwad, sourceport); gameFiles = handler.GetCurrentAdditionalFiles(); Assert.IsNotNull(gameFiles.FirstOrDefault(x => x.FileName == "IWADMOD1.WAD")); Assert.IsTrue(handler.IsIWadFile(gameFiles.First(x => x.FileName == "IWADMOD1.WAD"))); Assert.IsFalse(handler.IsSourcePortFile(gameFiles.First(x => x.FileName == "IWADMOD1.WAD"))); }
public void TestTagSelect() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var tags = CreateTestTagList(); Assert.IsTrue(adapter.GetTags().Count() == tags.Count); }
public void TestGameProfileUpdate() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var profiles = CreateTestProfiles(); foreach (var profile in profiles) { profile.Name += profile.Name; profile.SourcePortID += profile.SourcePortID; profile.IWadID += profile.IWadID; profile.SettingsExtraParams += profile.SettingsExtraParams; profile.SettingsFiles += profile.SettingsFiles; profile.SettingsFilesIWAD += profile.SettingsFilesIWAD; profile.SettingsFilesSourcePort += profile.SettingsFilesSourcePort; profile.SettingsMap += profile.SettingsMap; profile.SettingsSkill += profile.SettingsSkill; profile.SettingsSpecificFiles += profile.SettingsSpecificFiles; profile.SettingsStat = !profile.SettingsStat; profile.SettingsSaved = !profile.SettingsSaved; adapter.UpdateGameProfile(profile); var testProfiles = adapter.GetGameProfiles(profile.GameFileID.Value).ToList(); Assert.AreEqual(1, testProfiles.Count); Assert.IsTrue(TestUtil.AllFieldsEqual(profile, testProfiles.First())); } }
public void TestUpdateWhere() { //Note: This function is only used in SourcePortViewForm.cs IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var gameFiles = CreateTestFileList(); int test = 1000; foreach (var gameFile in gameFiles) { adapter.UpdateGameFile(gameFile); //Make sure we're in sync with our test list first... //Test setting a real value adapter.UpdateGameFiles(GameFileFieldType.SourcePortID, GameFileFieldType.SourcePortID, gameFile.SourcePortID, test); gameFile.SourcePortID = test; IGameFile gameFileFind = adapter.GetGameFile(gameFile.FileName); Assert.IsTrue(gameFileFind != null); Assert.IsTrue(TestUtil.AllFieldsEqual <IGameFile>(gameFile, gameFileFind)); //Test setting value to null adapter.UpdateGameFiles(GameFileFieldType.SourcePortID, GameFileFieldType.SourcePortID, gameFile.SourcePortID, null); gameFile.SourcePortID = null; gameFileFind = adapter.GetGameFile(gameFile.FileName); Assert.IsTrue(gameFileFind != null); Assert.IsTrue(TestUtil.AllFieldsEqual <IGameFile>(gameFile, gameFileFind)); test++; } }
public TagTabView(object key, string title, IDataSourceAdapter adapter, GameFileFieldType[] selectFields, ITagData tag) : base(key, title, adapter, selectFields) { InitializeComponent(); TagDataSource = tag; m_tagAdapter = adapter; }
protected async Task <List <IDataItem> > ReadDataAsync(IDataSourceAdapter sourceAdapter) { var results = new List <IDataItem>(); IDataItem dataItem; var readOutput = new ReadOutputByRef(); while (true) { try { dataItem = await sourceAdapter.ReadNextAsync(readOutput, CancellationToken.None); } catch (NonFatalReadException) { continue; } if (dataItem == null) { break; } results.Add(dataItem); Assert.IsNotNull(readOutput.DataItemId, CommonTestResources.MissingDataItemId); readOutput.Wipe(); } return(results); }
public void TestDeleteFile() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var gameFileIDs = CreateTestFiles().Select(x => x.GameFileID).Distinct(); int id = gameFileIDs.First(); var dbFiles = adapter.GetFiles(new GameFile() { GameFileID = id }); int count = dbFiles.Count(); foreach (var dbFile in dbFiles) { adapter.DeleteFile(dbFile); count--; Assert.AreEqual(count, adapter.GetFiles(new GameFile() { GameFileID = id }).Count()); } id = gameFileIDs.Skip(1).First(); adapter.DeleteFile(new GameFile() { GameFileID = id }); Assert.AreEqual(0, adapter.GetFiles(new GameFile() { GameFileID = id }).Count()); }
public PreviewDataDialog(TableData Source) { InitializeComponent(); this.Source = Source; this.DataAdapter = new FrontDataAdapter(); }
public void TestUpdateFile() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var files = adapter.GetFiles(new DoomLauncher.DataSources.GameFile() { GameFileID = 1 }); foreach (var file in files) { //we only update these three fields file.SourcePortID += 100; file.Description += "100"; file.FileOrder += 100; adapter.UpdateFile(file); } var newFiles = adapter.GetFiles(new GameFile() { GameFileID = 1 }); foreach (var file in files) { var newFile = newFiles.FirstOrDefault(x => x.FileID == file.FileID); Assert.IsNotNull(newFile); Assert.IsTrue(TestUtil.AllFieldsEqual(file, newFile)); } }
public void Initialize(IDataSourceAdapter adapter, ITabView[] tabViews) { this.DataAdapter = adapter; this.m_tabViews = tabViews; this.SetDataSource(adapter.GetSourcePorts()); this.dgvSourcePorts.Columns[this.dgvSourcePorts.Columns.Count - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; }
public async Task ExecuteAsync(IDataSourceAdapter source, IDataSinkAdapter sink, ITransferStatistics statistics, CancellationToken cancellation) { Guard.NotNull("source", source); Guard.NotNull("sink", sink); Guard.NotNull("statistics", statistics); var writeTasks = Enumerable .Range(0, sink.MaxDegreeOfParallelism) .Select(i => (Task)Task.FromResult<object>(null)) .ToArray(); var fatalExceptions = new List<Exception>(); var readOutput = new ReadOutputByRef(); IDataItem dataItem; while (!cancellation.IsCancellationRequested) { readOutput.Wipe(); try { dataItem = await source.ReadNextAsync(readOutput, cancellation); } catch (NonFatalReadException nonFatalException) { statistics.AddError(readOutput.DataItemId, nonFatalException); continue; } catch (Exception exception) { fatalExceptions.Add(exception); break; } if (dataItem == null || cancellation.IsCancellationRequested) break; var completed = await Task.WhenAny(writeTasks); writeTasks[Array.IndexOf(writeTasks, completed)] = TransferDataItem(sink, readOutput.DataItemId, dataItem, statistics, cancellation); } // Report completion to the sink try { await sink.CompleteAsync(cancellation); } catch (Exception exception) { fatalExceptions.Add(exception); } // Wait for all on-going writes to complete for (var index = 0; index < writeTasks.Length; ++index) await writeTasks[index]; // Throw fatal exceptions, if any if (fatalExceptions.Any()) throw new AggregateException(fatalExceptions); }
public void TestPartialLikeFileName_SqlSyntax() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); IGameFileGetOptions options = new GameFileGetOptions(new GameFileSearchField(GameFileFieldType.Filename, GameFileSearchOp.Like, "test" + s_garbage)); var gameFilesFind = adapter.GetGameFiles(options); Assert.AreEqual(3, gameFilesFind.Count()); }
public void TestTagMapSelect() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); var tagMap = CreateTestTagMapping(); Assert.IsTrue(adapter.GetTagMappings().Count() == tagMap.Count); Assert.IsTrue(adapter.GetGameFiles().Count() == tagMap.Count); }
public void TestPartialLikeAuthor() { IDataSourceAdapter adapter = TestUtil.CreateAdapter(); IGameFileGetOptions options = new GameFileGetOptions(new GameFileSearchField(GameFileFieldType.Author, GameFileSearchOp.Like, "test")); var gameFilesFind = adapter.GetGameFiles(options); Assert.AreEqual(gameFilesFind.Count(), CreateTestFileList().Count); }
public FileLoadHandler(IDataSourceAdapter adapter, IGameFile gameFile) { m_adapter = adapter; m_gameFile = gameFile; SetAdditionalFiles(Util.GetAdditionalFiles(m_adapter, gameFile)); m_iwadAdditionalFiles = GetIWadFilesFromGameFile(gameFile); m_sourcePortAdditionalFiles = Util.GetSourcePortAdditionalFiles(m_adapter, gameFile); }
public static List <IGameFileDataSource> GetAdditionalFiles(IDataSourceAdapter adapter, IGameFileDataSource gameFile) { if (gameFile != null) { return(GetAdditionalFiles(adapter, gameFile.SettingsFiles)); } return(new List <IGameFileDataSource>()); }
private static List <IGameFile> GetAdditionalFiles(IDataSourceAdapter adapter, string property) { string[] fileNames = Util.SplitString(property); List <IGameFile> gameFiles = new List <IGameFile>(); Array.ForEach(fileNames, x => gameFiles.Add(adapter.GetGameFile(x))); return(gameFiles.Where(x => x != null).ToList()); }
private static List <IGameFile> GetAdditionalFiles(IDataSourceAdapter adapter, IGameFile gameFile, string property) { string[] fileNames = property.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); List <IGameFile> gameFiles = new List <IGameFile>(); Array.ForEach(fileNames, x => gameFiles.Add(adapter.GetGameFile(x))); return(gameFiles.Where(x => x != null).ToList()); }
private async Task VerifyRows(IDataSourceAdapter adapter, IReadOnlyDictionary<string, object>[] expectedRows) { var readOutput = new ReadOutputByRef(); for (var rowIndex = 0; rowIndex < expectedRows.Length; ++rowIndex) { var dataItem = await adapter.ReadNextAsync(readOutput, CancellationToken.None); Assert.IsNotNull(dataItem, TestResources.MoreDataItemsExpected); VerifyDataItem(expectedRows[rowIndex], dataItem); } }