public DomaSqlParser(string sql) { _sql = sql; _tokenizer = new SqlTokenizer(sql); _rootNode = new AnonymousNode(); _nodeStack.Push(_rootNode); }
public void ResetReferenceWithExistingGraphControls() { // Set the GraphTypes IoC.GetAllInstances = type => new IGraphType[] { new PixelDiff() }; // Get the parent PipelineVM and add DiagramNode var vm = MainViewModelTest.GetInstance().PipelineViewModel; var node = new NodeViewModel(new DiagramNode(), vm); vm.Nodes.Add(node); vm.Parent.Model.Graph.AddNode(node.Model); var DVM = new DiagramViewModel((DiagramNode)vm.Nodes.Single().Model); // Add Input Node for DiagramNode with 3 Outputs. var sourceNode = new AnonymousNode(AnonNodeHelper.SourceNode, 3); var inputs = sourceNode.Process(null, 0); // Add reference video to node. var reference = new Node.Input { Source = sourceNode.Outputs[0] }; DVM.NodeModel.Inputs.Add(reference); // Add other Outputs as Inputs to DiagramNode. var video = new Node.Input { Source = sourceNode.Outputs[1] }; DVM.NodeModel.Inputs.Add(video); var altRef = new Node.Input { Source = sourceNode.Outputs[2] }; DVM.NodeModel.Inputs.Add(altRef); DVM.Reference = DVM.Videos.ElementAt(0); DVM.ChosenVideo = DVM.Videos.ElementAt(1); DVM.AddGraph(); var dgvm = DVM.Graphs.Single(); // ChosenType = PixelDifference dgvm.CurrentType = dgvm.AvailableTypes.ElementAt(0); // porcess one frame with first reference DVM.NodeModel.ProcessCore(inputs, 0); DVM.Handle(null); DVM.Reference = DVM.Videos.ElementAt(2); // porcess one frame with second reference DVM.NodeModel.ProcessCore(inputs, 1); DVM.Handle(null); Assert.Equal(dgvm.AvailableTypes.ElementAt(0).Model.Process(inputs[1], inputs[0]), dgvm.Model.Data[0].Value); Assert.Equal(dgvm.AvailableTypes.ElementAt(0).Model.Process(inputs[1], inputs[2]), dgvm.Model.Data[1].Value); }
public object VisitAnonymousNode(AnonymousNode node, Context parameter) { foreach (var child in node.Children) { child.Accept(this, parameter); } return(null); }
internal virtual ISqlNode Transform(ISqlNode node) { var result = new AnonymousNode(); foreach (var child in node.Children) { result.AddNode(child.Accept(this, null)); } return(result); }
public void CanDeleteLine() { // Set the GraphTypes IoC.GetAllInstances = type => new IGraphType[] { new PixelDiff() }; // Get the parent PipelineVM and add DiagramNode var vm = MainViewModelTest.GetInstance().PipelineViewModel; var node = new NodeViewModel(new DiagramNode(), vm); vm.Nodes.Add(node); vm.Parent.Model.Graph.AddNode(node.Model); var DVM = new DiagramViewModel((DiagramNode)vm.Nodes.Single().Model); // Add Input Node for DiagramNode with 3 Outputs. var sourceNode = new AnonymousNode(AnonNodeHelper.SourceNode, 3); var inputs = sourceNode.Process(null, 0); // Add reference video to node. var reference = new Node.Input { Source = sourceNode.Outputs[0] }; DVM.NodeModel.Inputs.Add(reference); // Add other Outputs as Inputs to DiagramNode. var video = new Node.Input { Source = sourceNode.Outputs[1] }; DVM.NodeModel.Inputs.Add(video); var annVid = new Node.Input { Source = sourceNode.Outputs[2] }; DVM.NodeModel.Inputs.Add(annVid); DVM.Reference = DVM.Videos.ElementAt(0); DVM.ChosenVideo = DVM.Videos.ElementAt(1); DVM.AddGraph(); var dgvm = DVM.Graphs.Single(); // Set the ChosenType of the DiagramGraphViewModel to PixelDifference dgvm.CurrentType = dgvm.AvailableTypes.First(); Assert.NotEmpty(DVM.Lines); Assert.NotEmpty(DVM.NodeModel.Graphs); DVM.DeleteGraph(dgvm); Assert.Empty(DVM.Lines); Assert.Empty(DVM.NodeModel.Graphs); }
private void ParseSetOperatorWord() { Validate(); var node = new AnonymousNode(); node.AddNode(new WordNode(_token, true)); if (IsInSelectStatementNode()) { RemoveNodesTo <SelectStatementNode>(); Pop(); } AppendNode(node); _nodeStack.Push(node); }
public void PlayPauseWorks() { vm.Stop(); Assert.False(vm.Parent.Model.IsPlaying); Assert.Equal(vm.Parent.Model.CurrentTick, 0); Node graph = new AnonymousNode(() => Thread.Sleep(1000)); vm.Parent.OpenWindows.Clear(); vm.Parent.OpenWindows.Add(new VideoOutputViewModel(graph.Outputs[0])); vm.PlayPause(); Assert.True(vm.Parent.Model.IsPlaying); Thread.Sleep(1500); vm.PlayPause(); Assert.False(vm.Parent.Model.IsPlaying); Assert.Equal(vm.Parent.Model.CurrentTick, 1); }
public void CannotAddDgvmWithoutChosenVid() { // Set the GraphTypes IoC.GetAllInstances = type => new IGraphType[] { new PixelDiff() }; // Get the parent PipelineVM and add DiagramNode var vm = MainViewModelTest.GetInstance().PipelineViewModel; var node = new NodeViewModel(new DiagramNode(), vm); vm.Nodes.Add(node); vm.Parent.Model.Graph.AddNode(node.Model); var DVM = new DiagramViewModel((DiagramNode)vm.Nodes.Single().Model); // Add Input Node for DiagramNode with 3 Outputs. var sourceNode = new AnonymousNode(AnonNodeHelper.SourceNode, 3); var inputs = sourceNode.Process(null, 0); // Add reference video to node. var reference = new Node.Input { Source = sourceNode.Outputs[0] }; DVM.NodeModel.Inputs.Add(reference); // Add other Outputs as Inputs to DiagramNode. var video = new Node.Input { Source = sourceNode.Outputs[1] }; DVM.NodeModel.Inputs.Add(video); var altRef = new Node.Input { Source = sourceNode.Outputs[2] }; DVM.NodeModel.Inputs.Add(altRef); DVM.Reference = DVM.Videos.ElementAt(0); // No video chosen. Assert.False(DVM.CanAddGraph); }
public void ShowOnlyAvailableTypes() { // Set the GraphTypes IoC.GetAllInstances = type => new IGraphType[] { new PixelDiff(), new DecisionDiff(), new IntraBlockFrequency(), new PeakSignalNoiseRatio() }; // Get the parent PipelineVM and add DiagramNode var vm = MainViewModelTest.GetInstance().PipelineViewModel; var node = new NodeViewModel(new DiagramNode(), vm); vm.Nodes.Add(node); vm.Parent.Model.Graph.AddNode(node.Model); var DVM = new DiagramViewModel((DiagramNode)vm.Nodes.Single().Model); // Add Input Node for DiagramNode with 3 Outputs. var sourceNode = new AnonymousNode(AnonNodeHelper.SourceNode, 3); var inputs = sourceNode.Process(null, 0); // Add reference video to node. var reference = new Node.Input { Source = sourceNode.Outputs[0] }; DVM.NodeModel.Inputs.Add(reference); // Add other Outputs as Inputs to DiagramNode. var video = new Node.Input { Source = sourceNode.Outputs[1] }; DVM.NodeModel.Inputs.Add(video); var annVid = new Node.Input { Source = sourceNode.Outputs[2] }; DVM.NodeModel.Inputs.Add(annVid); DVM.ChosenVideo = DVM.Videos.ElementAt(1); DVM.AddGraph(); var dgvmNoRefNoLog = DVM.Graphs.Last(); Assert.False(dgvmNoRefNoLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnReference || type.Model.DependsOnLogfile)); sourceNode.SettableOutputHasLogfile = true; DVM.ChosenVideo = DVM.Videos.ElementAt(2); DVM.AddGraph(); Assert.NotNull(DVM.Graphs); var dgvmLogNoRef = DVM.Graphs.Last(); Assert.False(dgvmLogNoRef.AvailableTypes.ToList().Exists(type => type.Model.DependsOnReference)); Assert.True(dgvmLogNoRef.AvailableTypes.ToList().Exists(type => type.Model.DependsOnLogfile)); sourceNode.SettableOutputHasLogfile = false; DVM.Reference = DVM.Videos.ElementAt(0); DVM.ChosenVideo = DVM.Videos.ElementAt(1); DVM.AddGraph(); var dgvmLoggedRefNoLog = DVM.Graphs.Last(); Assert.True(dgvmLoggedRefNoLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnReference)); Assert.False(dgvmLoggedRefNoLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnLogfile)); sourceNode.SettableOutputHasLogfile = true; DVM.ChosenVideo = DVM.Videos.ElementAt(2); DVM.AddGraph(); var dgvmLoggedRefLog = DVM.Graphs.Last(); Assert.True(dgvmLoggedRefLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnReference)); Assert.True(dgvmLoggedRefLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnLogfile)); Assert.True(dgvmLoggedRefLog.AvailableTypes.ToList().Exists(type => type.Model.DependsOnAnnotatedReference)); }