public async Task Gets_VirtualStudio_data_with_placeholders() { var placeholder = new PlaceholderStudioComponent(); placeholder.AddInput("Input 1", DataKind.Audio, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var nodePosition = new Position2D(23, 45); virtualStudio.AddComponent(placeholder, nodePosition); var getVirtualStudioQuery = new GetVirtualStudioWithArrangementQuery(); var virtualStudioDto = await getVirtualStudioQuery.Process(virtualStudio); Assert.IsTrue(virtualStudioDto.ComponentRepository.Placeholders.Count() == 1); var repoPlaceholder = virtualStudioDto.ComponentRepository.Placeholders.First(); Assert.AreEqual(repoPlaceholder.Inputs.First().Name, placeholder.Inputs[0].Name); Assert.IsTrue(virtualStudioDto.ComponentNodes.Count() == 1); var componentNode = virtualStudioDto.ComponentNodes.First(); Assert.AreEqual(nodePosition.X, componentNode.X); Assert.AreEqual(nodePosition.Y, componentNode.Y); Assert.AreEqual(componentNode.Component.Inputs.First().Name, placeholder.Inputs[0].Name); Assert.AreNotEqual(repoPlaceholder.Id, componentNode.Component.Id); Assert.IsTrue(virtualStudioDto.Connections.Count() == 0); }
public void TestInit() { var virtualStudio = new VirtualStudioWithArrangement(); // Create a placeholder and add it to ComponentRepository and add a copy to the VirtualStudio's components. placeholderInRepository = new PlaceholderStudioComponent(); placeholderInRepository.SetName("Placeholder 1"); placeholderInRepository.AddInput("Input 1", Shared.DataKind.Audio, "WebRTC"); placeholderInRepository.AddOutput("Output 1", Shared.DataKind.Audio, "WebRTC"); virtualStudio.ComponentRepository.AddPlaceholder(placeholderInRepository); placeholderInComponents = virtualStudio.AddComponent(placeholderInRepository); // Create a component mock and add it to ComponentRepository AND the VirtualStudio. client1Mock = new Mock <IStudioComponent>(); client1Mock.Setup(m => m.SetId(It.IsAny <int>())).Callback <int>((value) => client1Id = value); client1Mock.SetupGet(m => m.Id).Returns(() => client1Id); virtualStudio.ComponentRepository.AddClient(client1Mock.Object); virtualStudio.AddComponent(client1Mock.Object); // Create a component mock and add it only to ComponentRepository. client2Mock = new Mock <IStudioComponent>(); client2Mock.Setup(m => m.SetId(It.IsAny <int>())).Callback <int>((value) => client2Id = value); client2Mock.SetupGet(m => m.Id).Returns(() => client2Id); virtualStudio.ComponentRepository.AddClient(client2Mock.Object); this.virtualStudio = virtualStudio; operationHandlerMock = new Mock <IVirtualStudioUpdateListener>(); virtualStudioEventProcessor = new VirtualStudioEventProcessor(virtualStudio, virtualStudioName, operationHandlerMock.Object); }
public void Does_not_add_a_ComponentNode_or_Component_if_the_contained_component_already_exists() { var component = new PlaceholderStudioComponent(); var targetPosition = new Position2D(12, 34); var arrangement = new VirtualStudioWithArrangement(); arrangement.ComponentRepository.AddPlaceholder(component); var existingComponent = arrangement.AddComponent(component, targetPosition).Component; arrangement.AddComponent(existingComponent, targetPosition); Assert.IsTrue(arrangement.ComponentNodes.Count == arrangement.Components.Count); Assert.IsTrue(arrangement.ComponentNodes.Count == 1); }
public void Init() { virtualStudioWithArrangement = new VirtualStudioWithArrangement(); var placeholder = new PlaceholderStudioComponent(); virtualStudioWithArrangement.ComponentRepository.AddPlaceholder(placeholder); componentNode = virtualStudioWithArrangement.AddComponent(placeholder, new Position2D(0, 0)); }
private void InitializeVirtualStudio(VirtualStudioWithArrangement virtualStudio) { var placeholder1 = new PlaceholderStudioComponent(); placeholder1.SetName("Placeholder with input"); placeholder1.AddInput("Input 1", DataKind.Audio, "WebRtc"); placeholder1.AddInput("Input 2", DataKind.Video, "NDI"); var placeholder2 = new PlaceholderStudioComponent(); placeholder2.SetName("Placeholder with output"); placeholder2.AddOutput("Output 1", DataKind.Audio, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder1); virtualStudio.ComponentRepository.AddPlaceholder(placeholder2); var componentNode1 = virtualStudio.AddComponent(placeholder1, new Position2D(100, 100)); var componentNode2 = virtualStudio.AddComponent(placeholder2, new Position2D(100, 250)); //virtualStudio.CreateConnection(componentNode2.Component.Outputs[0], componentNode1.Component.Inputs[0]); }
public void Does_not_add_a_component_that_does_not_exist_in_ComponentRepository() { var component = new PlaceholderStudioComponent(); var arrangement = new VirtualStudioWithArrangement(); var addedComponent = arrangement.AddComponent(component); Assert.IsNull(addedComponent); Assert.IsTrue(arrangement.Components.Count == 0); }
public void Adds_component_to_Components_and_ComponentNodes() { var component = new PlaceholderStudioComponent(); var arrangement = new VirtualStudioWithArrangement(); arrangement.ComponentRepository.AddPlaceholder(component); arrangement.AddComponent(component); Assert.IsTrue(arrangement.Components.Count == arrangement.ComponentNodes.Count); Assert.IsTrue(arrangement.Components.Count == 1); }
public void Adds_component_at_provided_position() { var component = new PlaceholderStudioComponent(); var targetPosition = new Position2D(12, 34); var arrangement = new VirtualStudioWithArrangement(); arrangement.ComponentRepository.AddPlaceholder(component); arrangement.AddComponent(component, targetPosition); Assert.IsTrue(arrangement.ComponentNodes.Count == 1); Assert.AreEqual(targetPosition, arrangement.ComponentNodes.First().Position); }
public void Removes_component_from_Components_and_ComponentNodes() { var component = new PlaceholderStudioComponent(); var arrangement = new VirtualStudioWithArrangement(); arrangement.ComponentRepository.AddPlaceholder(component); var addedComponent = arrangement.AddComponent(component); arrangement.RemoveComponent(addedComponent); Assert.IsTrue(arrangement.Components.Count == arrangement.ComponentNodes.Count); Assert.IsTrue(arrangement.Components.Count == 0); }
public void Changes_position_of_ComponentNode() { var component = new PlaceholderStudioComponent(); var arrangement = new VirtualStudioWithArrangement(); arrangement.ComponentRepository.AddPlaceholder(component); arrangement.AddComponent(component); var componentNode = arrangement.ComponentNodes.First(); var targetPosition = new Position2D(12, 34); arrangement.MoveComponentNode(componentNode, targetPosition); Assert.AreEqual(targetPosition, arrangement.ComponentNodes.First().Position); }