public NewProjectVM() { TeamTagger = new LMTeamTaggerVM(); TeamTagger.ShowSubstitutionButtons = false; TeamTagger.SubstitutionMode = true; Project = new LMProjectVM(); }
public void Setup() { settings.EncodingSettings.OutputFile = Path.GetTempFileName(); App.Current.DatabaseManager = new LocalDatabaseManager(); project = Utils.CreateProject(); projectVM = new LMProjectVM { Model = project }; LMProjectAnalysisVM viewModel = new LMProjectAnalysisVM(); viewModel.VideoPlayer = videoPlayerVM; viewModel.Project = projectVM; projectsManager = new ProjectAnalysisController(); projectsManager.SetViewModel(viewModel); projectsManager.Start(); KeyContext context = new KeyContext(); foreach (KeyAction action in projectsManager.GetDefaultKeyActions()) { context.AddAction(action); } App.Current.KeyContextManager.NewKeyContexts(new List <KeyContext> { context }); }
public void SetUp() { controller = new LMEventsController(); playerController = new Mock <IVideoPlayerController> (); videoPlayer = new VideoPlayerVM { Player = playerController.Object, CamerasConfig = new ObservableCollection <CameraConfig> () }; Mock <IVideoPlayer> playerMock = new Mock <IVideoPlayer> (); playerMock.SetupAllProperties(); projectVM = new LMProjectVM { Model = Utils.CreateProject(true) }; controller.SetViewModel(new LMProjectAnalysisVM { Project = projectVM, VideoPlayer = videoPlayer }); var mtkMock = new Mock <IMultimediaToolkit> (); mtkMock.Setup(m => m.GetPlayer()).Returns(playerMock.Object); App.Current.MultimediaToolkit = mtkMock.Object; controller.Start(); }
void LoadProject(LMProjectVM project) { gamedescriptionheader1.ViewModel = project; detailCtx.UpdateViewModel(project); foreach (VideoFileInfo vfi in videoFileInfos) { videofileinfo_vbox.Remove(vfi); } videoFileInfos.Clear(); foreach (var mf in project.FileSet) { VideoFileInfo vfi = new VideoFileInfo(); vfi.SetMediaFileSet(project.FileSet, mf); vfi.Changed += HandleChanged; vfi.ShowAll(); videoFileInfos.Add(vfi); videofileinfo_vbox.PackStart(vfi, true, true, 0); } rbox.Visible = true; }
public override async Task <bool> LoadState(dynamic data) { LMProjectVM projectVM = data.Project; // FIXME: Load project asynchronously if (!projectVM.Model.IsLoaded) { try { IBusyDialog busy = App.Current.Dialogs.BusyDialog(Catalog.GetString("Loading project..."), null); busy.ShowSync(() => { try { projectVM.Model.Load(); } catch (Exception ex) { Log.Exception(ex); throw; } }); } catch (Exception ex) { Log.Exception(ex); App.Current.Dialogs.ErrorMessage(Catalog.GetString("Could not load project:") + "\n" + ex.Message); return(false); } } if (!await Initialize(data)) { return(false); } return(await LoadProject()); }
public void LoadState_ViewModelFromPropDisposed_AssignOnlyModel() { // Arrange FakeLiveProjectAnalysisState state = new FakeLiveProjectAnalysisState(); LMProject project = Utils.CreateProject(); LMProjectVM projectVM = new LMProjectVM { Model = project }; LMProjectAnalysisVM analysisVM = new LMProjectAnalysisVM { Project = projectVM }; var panel = new Mock <Utils.IDummyCapturerPanel> (); panel.Setup(p => p.Capturer).Returns(capturerMock.Object); state.Panel = panel.Object; // Act state.LoadState(analysisVM); // Assert capturerMock.Verify(c => c.Run(It.IsAny <CaptureSettings> (), It.IsAny <MediaFile> ()), Times.Once); Assert.AreNotEqual(projectVM, state.ViewModel.Project); Assert.AreEqual(project, state.ViewModel.Project.Model); }
public NewProjectVM() { TeamTagger = new LMTeamTaggerVM(); TeamTagger.ShowSubstitutionButtons = false; TeamTagger.SubstitutionMode = true; Project = new LMProjectVM(); Dashboards = new DashboardsManagerVM(); Teams = new TeamsManagerVM(); }
public void SetUp() { model = Utils.CreateProject(true); viewModel = new LMProjectVM { Model = model }; model.IsChanged = false; viewModel.IsChanged = false; }
async Task ProjectSetUpAsync() { var viewModel = new PlayEditorVM(); teamTagger = viewModel.TeamTagger; viewModel.Project = new LMProjectVM { Model = Utils.CreateProject() }; project = viewModel.Project; await ControllerSetUp(viewModel); }
public void OpenProject_ExistingProject_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(ProjectAnalysisState.NAME, It.IsAny <object> (), true, false)); }
public void Setup() { state = new ProjectAnalysisState(); project = Utils.CreateProject(); projectVM = new LMProjectVM { Model = project }; analysisVM = new LMProjectAnalysisVM { Project = projectVM }; state.Panel = new Mock <IPanel> ().Object; gtkMock.Setup(g => g.SelectMediaFiles(It.IsAny <MediaFileSet> ())).Returns(true); }
public void Setup() { state = new LiveProjectAnalysisState(); project = Utils.CreateProject(); projectVM = new LMProjectVM { Model = project }; analysisVM = new LMProjectAnalysisVM { Project = projectVM }; var panel = new Mock <Utils.IDummyCapturerPanel> (); panel.Setup(p => p.Capturer).Returns(capturerMock.Object); state.Panel = panel.Object; }
public void TestSetProjectVM() { var project = Utils.CreateProject(true); var projectVM = new LMProjectVM { Model = project }; var view = new ProjectLocationsTaggerView(Mock.Of <IWidget> ()) { Background = project.GetBackground(VAS.Core.Common.FieldPositionType.Field) }; view.ViewModel = projectVM; Assert.AreEqual(project.Timeline.Count, view.Objects.Count); }
public void SetUp() { project = Utils.CreateProject(true); project.Periods.Add(new Period()); projectVM = new LMProjectVM { Model = project }; widgetMock = new Mock <IWidget> (); widgetMock.SetupAllProperties(); timeline = new LMPlaysTimeline(widgetMock.Object); LMProjectAnalysisVM viewModel = new LMProjectAnalysisVM { Project = projectVM }; timeline.ViewModel = viewModel; }
public void TestDispose() { var project = Utils.CreateProject(true); var projectVM = new LMProjectVM { Model = project }; var view = new ProjectLocationsTaggerView(Mock.Of <IWidget> ()) { Background = project.GetBackground(VAS.Core.Common.FieldPositionType.Field) }; view.ViewModel = projectVM; view.Dispose(); Assert.IsNull(view.Objects); }
public void TestAddEvent() { var project = Utils.CreateProject(false); var projectVM = new LMProjectVM { Model = project }; var view = new ProjectLocationsTaggerView(Mock.Of <IWidget> ()) { Background = project.GetBackground(VAS.Core.Common.FieldPositionType.Field) }; view.ViewModel = projectVM; project.AddEvent(project.EventTypes [0], new Time(0), new Time(0), new Time(0), null); Assert.AreEqual(1, view.Objects.Count); }
public void OpenProject_ExistingFakeLive_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(NewProjectState.NAME, projectVM, false, false)); }
public void OpenProject_NotifiesProjectOpened_Ok() { // Arrange bool projectOpened = false; LMProjectVM viewmodel = new LMProjectVM(); viewmodel.Model = new LMProject(); CaptureSettings settings = new CaptureSettings(); App.Current.EventsBroker.Subscribe <OpenedProjectEvent> (e => projectOpened = true); // Act LMStateHelper.OpenProject(viewmodel, settings); // Assert Assert.True(projectOpened); }
public void OpenProject_NewFakeLive_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FakeCaptureProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(FakeLiveProjectAnalysisState.NAME, It.IsAny <object> (), true, false)); }
public void OpenProject_NotNew_NotSendsProjectCreatedEvent() { bool projectCreatedEvent = false; var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; App.Current.EventsBroker.Subscribe <ProjectCreatedEvent> (evt => projectCreatedEvent = true); LMStateHelper.OpenProject(projectVM, newPoject: false); Assert.IsFalse(projectCreatedEvent); }
public async Task Setup() { App.Current.GUIToolkit = mockGuiToolkit.Object; videoPlayerController = new Mock <IVideoPlayerController> (); videoPlayerVM = new VideoPlayerVM(); videoPlayerVM.Player = videoPlayerController.Object; LMProject project = Utils.CreateProject(true); project.ProjectType = ProjectType.FileProject; projectVM = new LMProjectVM { Model = project }; playlistCollectionVM = projectVM.Playlists; LMProjectAnalysisVM viewModel = new LMProjectAnalysisVM(); viewModel.Project = projectVM; viewModel.VideoPlayer = videoPlayerVM; sut = new LMPlaylistController(); sut.SetViewModel(viewModel); await sut.Start(); }
public async Task SetUp() { timelineVM = new LMTimelineVM(homeTeam, awayTeam); timelineVM.CreateTeamsTimelines(new List <TeamVM> { homeTeam, awayTeam }); var dealer = new DummyProjectDealer(); var projectvm = new LMProjectVM { Model = Utils.CreateProject() }; timelineVM.CreateEventTypeTimelines(projectvm.EventTypes); dealer.Project = projectvm; dealer.Timeline = timelineVM; eventsFilterController.SetViewModel(dealer); CreateEvents(); await eventsFilterController.Start(); }
public async Task SetUp() { mockToolkit = new Mock <IGUIToolkit> (); mockToolkit.SetupGet(o => o.DeviceScaleFactor).Returns(1.0f); App.Current.GUIToolkit = mockToolkit.Object; controller = new LMEventsController(); playerController = new Mock <IVideoPlayerController> (); videoPlayer = new VideoPlayerVM { Player = playerController.Object, CamerasConfig = new ObservableCollection <CameraConfig> () }; Mock <IVideoPlayer> playerMock = new Mock <IVideoPlayer> (); playerMock.SetupAllProperties(); projectVM = new LMProjectVM { Model = Utils.CreateProject(true, true) }; controller.SetViewModel(new LMProjectAnalysisVM { Project = projectVM, VideoPlayer = videoPlayer }); mockLimitationService = new Mock <ILicenseLimitationsService> (); mockLimitationService.Setup(ls => ls.CanExecute(It.IsAny <string> ())).Returns(true); App.Current.LicenseLimitationsService = mockLimitationService.Object; var mtkMock = new Mock <IMultimediaToolkit> (); mtkMock.Setup(m => m.GetPlayer()).Returns(playerMock.Object); App.Current.MultimediaToolkit = mtkMock.Object; mockDialogs = new Mock <IDialogs> (); App.Current.Dialogs = mockDialogs.Object; mockDialogs.Setup(m => m.QuestionMessage(It.IsAny <string> (), null, It.IsAny <object> ())).Returns(AsyncHelpers.Return(true)); await controller.Start(); }
public void Setup() { VideoPlayerVM videoPlayer = new VideoPlayerVM { CamerasConfig = new ObservableCollection <CameraConfig> () }; LMProject project = Utils.CreateProject(); player1 = new PlayerVM { Model = new Utils.PlayerDummy() }; player2 = new PlayerVM { Model = new Utils.PlayerDummy() }; team1 = new TeamVM(); team1.ViewModels.Add(player1); team1.ViewModels.Add(player2); teams = new List <TeamVM> { team1 }; projectVM = new LMProjectVM { Model = project }; controller = new LMTaggingController(); controller.SetViewModel(new ProjectAnalysisVM <LMProjectVM> { VideoPlayer = videoPlayer, Project = projectVM }); controller.Start(); mockToolkit = new Mock <IGUIToolkit> (); App.Current.GUIToolkit = mockToolkit.Object; timer = new Mock <ITimer> (); App.Current.DependencyRegistry.Register <ITimer> (timer.Object, 1); }
public void Setup() { mockDialogs = new Mock <IDialogs> (); App.Current.GUIToolkit = mockGuiToolkit.Object; App.Current.Dialogs = mockDialogs.Object; videoPlayerController = new Mock <IVideoPlayerController> (); videoPlayerVM = new VideoPlayerVM(); videoPlayerVM.Player = videoPlayerController.Object; LMProject project = Utils.CreateProject(true); project.ProjectType = ProjectType.FileProject; projectVM = new LMProjectVM { Model = project }; playlistCollectionVM = projectVM.Playlists; LMProjectAnalysisVM viewModel = new LMProjectAnalysisVM(); viewModel.Project = projectVM; viewModel.VideoPlayer = videoPlayerVM; controller = new LMPlaylistController(); controller.SetViewModel(viewModel); controller.Start(); }
public async Task Setup() { App.Current.HotkeysService = new HotkeysService(); LMGeneralUIHotkeys.RegisterDefaultHotkeys(); mockToolkit = new Mock <IGUIToolkit> (); mockToolkit.SetupGet(o => o.DeviceScaleFactor).Returns(1.0f); App.Current.GUIToolkit = mockToolkit.Object; VideoPlayerVM videoPlayer = new VideoPlayerVM { CamerasConfig = new RangeObservableCollection <CameraConfig> () }; LMProject project = Utils.CreateProject(); projectVM = new LMProjectVM { Model = project }; var projectAnalysisVM = new LMProjectAnalysisVM { VideoPlayer = videoPlayer, Project = projectVM }; controller = new LMTaggingController(); controller.SetViewModel(projectAnalysisVM); await controller.Start(); teamController = new LMTeamTaggerController(); teamController.SetViewModel(projectAnalysisVM); await teamController.Start(); resetEvent = new AutoResetEvent(false); mockToolkit.Setup(x => x.Invoke(It.IsAny <EventHandler> ())).Callback((EventHandler e) => { Task actionExecution = Task.Factory.StartNew(() => e(null, null)); actionExecution.Wait(); resetEvent.Set(); }); }
async Task SetUpState() { dynamic data = new ExpandoObject(); var projectVM = new LMProjectVM { Model = new LMProject() }; projectVM.Model.LocalTeamTemplate = LMTeam.DefaultTemplate(10); projectVM.Model.VisitorTeamTemplate = LMTeam.DefaultTemplate(10); data.project = projectVM; data.settings = new PlayEventEditionSettings(); data.play = new LMTimelineEventVM { Model = new LMTimelineEvent { Name = "Event1" } }; await state.LoadState(data); await state.ShowState(); viewModel = state.ViewModel; }
async Task AnalysisSetUpAsync() { var viewModel = new LMProjectAnalysisVM(); viewModel.VideoPlayer = new VideoPlayerVM(); videoPlayer = viewModel.VideoPlayer; teamTagger = viewModel.TeamTagger; projectVM = new LMProjectVM { Model = Utils.CreateProject() }; viewModel.Project = projectVM; await ControllerSetUp(viewModel); eventsController = new LMEventsController(); eventsController.SetViewModel(viewModel); await eventsController.Start(); taggingController = new LMTaggingController(); taggingController.SetViewModel(new ProjectAnalysisVM <LMProjectVM> { VideoPlayer = videoPlayer, Project = projectVM }); await taggingController.Start(); }
/// <summary> /// Resets the team tagger based on a ProjectVM /// </summary> /// <param name="project">Project View Model</param> public void ResetTeamTagger(LMProjectVM project) { AwayTeam = project.AwayTeam; HomeTeam = project.HomeTeam; Background = project.Dashboard.Model?.FieldBackground; }