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 async Task Adds_a_PlaceholderComponent_to_the_ComponentRepository() { var placeholderComponent = new PlaceholderStudioComponent(); placeholderComponent.SetName("New Placeholder"); placeholderComponent.AddInput("Input 1", DataKind.Video, "WebRtc"); placeholderComponent.AddOutput("Output 1", DataKind.Video, "WebRtc"); var addPlaceholderToRepositoryCommand = new AddPlaceholderToRepositoryCommand(placeholderComponent.ToDto()); await addPlaceholderToRepositoryCommand.Process(virtualStudio); Assert.IsTrue(virtualStudio.ComponentRepository.Placeholders.Count == 1); var addedPlaceholder = virtualStudio.ComponentRepository.Placeholders.First(); Assert.AreEqual(placeholderComponent.Name, addedPlaceholder.Name); Assert.AreEqual(placeholderComponent.Inputs.Count, addedPlaceholder.Inputs.Count); Assert.AreEqual(placeholderComponent.Outputs.Count, addedPlaceholder.Outputs.Count); Assert.AreEqual(placeholderComponent.Inputs[0].Id, addedPlaceholder.Inputs[0].Id); Assert.AreEqual(placeholderComponent.Inputs[0].Name, addedPlaceholder.Inputs[0].Name); Assert.AreEqual(placeholderComponent.Inputs[0].IOType, addedPlaceholder.Inputs[0].IOType); Assert.AreEqual(placeholderComponent.Inputs[0].DataKind, addedPlaceholder.Inputs[0].DataKind); Assert.AreEqual(placeholderComponent.Inputs[0].ConnectionType, addedPlaceholder.Inputs[0].ConnectionType); Assert.AreEqual(placeholderComponent.Outputs[0].Id, addedPlaceholder.Outputs[0].Id); Assert.AreEqual(placeholderComponent.Outputs[0].Name, addedPlaceholder.Outputs[0].Name); Assert.AreEqual(placeholderComponent.Outputs[0].IOType, addedPlaceholder.Outputs[0].IOType); Assert.AreEqual(placeholderComponent.Outputs[0].DataKind, addedPlaceholder.Outputs[0].DataKind); Assert.AreEqual(placeholderComponent.Outputs[0].ConnectionType, addedPlaceholder.Outputs[0].ConnectionType); }
public async Task Gets_VirtualStudio_data_with_a_connection() { var placeholder1 = new PlaceholderStudioComponent(); placeholder1.AddInput("Input 1", DataKind.Audio, "WebRtc"); var placeholder2 = new PlaceholderStudioComponent(); placeholder2.AddOutput("Output 1", DataKind.Audio, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder1); virtualStudio.ComponentRepository.AddPlaceholder(placeholder2); var nodePosition = new Position2D(23, 45); var componentNode1 = virtualStudio.AddComponent(placeholder1, nodePosition); var componentNode2 = virtualStudio.AddComponent(placeholder2, nodePosition); var connection = virtualStudio.CreateConnection(componentNode2.Component.Outputs[0], componentNode1.Component.Inputs[0]); var getVirtualStudioQuery = new GetVirtualStudioWithArrangementQuery(); var virtualStudioDto = await getVirtualStudioQuery.Process(virtualStudio); Assert.IsTrue(virtualStudioDto.Connections.Count() == 1); var connectionDto = virtualStudioDto.Connections.First(); Assert.AreEqual(connection.Id, connectionDto.Id); Assert.AreEqual(connection.Input.Id, connectionDto.InputId); Assert.AreEqual(connection.Input.Component.Id, connectionDto.InputComponentId); Assert.AreEqual(connection.Output.Id, connectionDto.OutputId); Assert.AreEqual(connection.Output.Component.Id, connectionDto.OutputComponentId); Assert.AreEqual(connection.State, connectionDto.State); }
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 Init() { virtualStudioWithArrangement = new VirtualStudioWithArrangement(); var placeholder = new PlaceholderStudioComponent(); virtualStudioWithArrangement.ComponentRepository.AddPlaceholder(placeholder); componentNode = virtualStudioWithArrangement.AddComponent(placeholder, new Position2D(0, 0)); }
public void Init() { virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); virtualStudio.AddComponent(placeholder); }
public void Init() { virtualStudio = new VirtualStudio(); placeholderInRepository = new PlaceholderStudioComponent(); placeholderInRepository.SetName("New Placeholder"); placeholderInRepository.AddInput("Input 1", DataKind.Data, "hgdfhgoid"); virtualStudio.ComponentRepository.AddPlaceholder(placeholderInRepository); placeholderInComponents = virtualStudio.AddComponent(placeholderInRepository) as PlaceholderStudioComponent; }
public void Init() { virtualStudio = new VirtualStudio(); var placeholderComponent = new PlaceholderStudioComponent(); placeholderComponent.SetName("New Placeholder"); virtualStudio.ComponentRepository.AddPlaceholder(placeholderComponent); component = virtualStudio.AddComponent(placeholderComponent); repositoryComponent = placeholderComponent; }
public void Calls_AddPlaceholderToRepository_when_a_placeholder_gets_added_to_ComponentRepository() { var placeholderToBeAdded = new PlaceholderStudioComponent(); operationHandlerMock.Setup(m => m.AddPlaceholderToRepository(virtualStudioName, It.IsAny <StudioComponentDto>())).Verifiable(); virtualStudio.ComponentRepository.AddPlaceholder(placeholderToBeAdded); operationHandlerMock.Verify(); }
public void Does_not_add_component_that_does_not_exist_in_ComponentRepository() { var virtualStudio = new VirtualStudio(); var component = new PlaceholderStudioComponent(); var addedComponent = virtualStudio.AddComponent(component); Assert.IsNull(addedComponent); Assert.IsTrue(virtualStudio.Components.Count == 0); }
public async Task Init() { virtualStudio = new VirtualStudio(); var placeholderComponent = new PlaceholderStudioComponent(); placeholderComponent.SetName("New Placeholder"); var addPlaceholderToRepositoryCommand = new AddPlaceholderToRepositoryCommand(placeholderComponent.ToDto()); await addPlaceholderToRepositoryCommand.Process(virtualStudio); }
public void Adds_a_PlaceholderStudioComponent() { var studioComponentRepository = new StudioComponentRepository(); var placeholder = new PlaceholderStudioComponent(); bool success = studioComponentRepository.AddPlaceholder(placeholder); Assert.IsTrue(success); Assert.IsTrue(placeholder.Id == 1); }
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() { var virtualStudio = new VirtualStudio(); var component = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(component); virtualStudio.AddComponent(component); Assert.IsTrue(virtualStudio.Components.Count == 1); }
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 Finds_a_StudioComponent_by_ID() { var studioComponentRepository = new StudioComponentRepository(); var placeholder = new PlaceholderStudioComponent(); studioComponentRepository.AddPlaceholder(placeholder); var foundComponent = studioComponentRepository.Find(c => c.Id == placeholder.Id); Assert.IsNotNull(foundComponent); Assert.AreEqual(placeholder, foundComponent); }
public void Does_not_add_already_existing_component() { var virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var component = virtualStudio.AddComponent(placeholder) as PlaceholderStudioComponent; virtualStudio.AddComponent(component); Assert.IsTrue(virtualStudio.Components.Count == 1); }
public void Removes_component() { var virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var component = virtualStudio.AddComponent(placeholder) as PlaceholderStudioComponent; virtualStudio.RemoveComponent(component); Assert.IsTrue(virtualStudio.Components.Count == 0); }
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 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 Invokes_event_when_a_component_gets_added() { var virtualStudio = new VirtualStudio(); bool wasEventInvoked = false; virtualStudio.ComponentAdded += (_, component) => wasEventInvoked = true; var component = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(component); virtualStudio.AddComponent(component); Assert.IsTrue(wasEventInvoked); }
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 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); }
public void Removes_connection() { var virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var component = virtualStudio.AddComponent(placeholder) as PlaceholderStudioComponent; var input = component.AddInput("input", DataKind.Audio, "ConnectionType"); var output = component.AddOutput("output", DataKind.Audio, "ConnectionType"); IStudioConnection connection = virtualStudio.CreateConnection(output, input); virtualStudio.RemoveConnection(connection); Assert.IsTrue(virtualStudio.Connections.Count == 0); }
public void Throws_exception_when_adding_a_component_with_an_existing_ID() { var studioComponentRepository = new StudioComponentRepository(); var placeholder = new PlaceholderStudioComponent(); var placeholder2 = new PlaceholderStudioComponent(); placeholder2.SetId(1); studioComponentRepository.AddPlaceholder(placeholder); Assert.ThrowsException <ArgumentException>(() => { studioComponentRepository.AddPlaceholder(placeholder2); }); }
public void Fires_event_when_a_component_gets_removed() { var virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var component = virtualStudio.AddComponent(placeholder) as PlaceholderStudioComponent; var input = component.AddInput("input", DataKind.Audio, "ConnectionType"); var output = component.AddOutput("output", DataKind.Audio, "ConnectionType"); bool wasEventInvoked = false; virtualStudio.ComponentRemoved += (_, component) => wasEventInvoked = true; virtualStudio.RemoveComponent(component); Assert.IsTrue(wasEventInvoked); }
private bool ProcessSync(VirtualStudio virtualStudio) { var placeholder = new PlaceholderStudioComponent(); placeholder.SetName(component.Name); foreach (var input in component.Inputs) { placeholder.AddInput(input.Name, input.DataKind, input.ConnectionType); } foreach (var output in component.Outputs) { placeholder.AddOutput(output.Name, output.DataKind, output.ConnectionType); } return(virtualStudio.ComponentRepository.AddPlaceholder(placeholder)); }
public void Init() { virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); placeholder.AddInput("Input 1", DataKind.Audio, "UDP"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithUdpAudioInput = virtualStudio.AddComponent(placeholder); placeholder = new PlaceholderStudioComponent(); placeholder.AddOutput("Output 1", DataKind.Audio, "UDP"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithUdpAudioOutput = virtualStudio.AddComponent(placeholder); connection = virtualStudio.CreateConnection(componentWithUdpAudioOutput.Outputs[0], componentWithUdpAudioInput.Inputs[0]); }
public void Adds_connection_between_endpoints_that_exist_in_components() { var virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); var component = virtualStudio.AddComponent(placeholder) as PlaceholderStudioComponent; var input = component.AddInput("input", DataKind.Audio, "ConnectionType"); var output = component.AddOutput("output", DataKind.Audio, "ConnectionType"); Assert.IsTrue(virtualStudio.CanCreateConnection(output, input)); IStudioConnection connection = virtualStudio.CreateConnection(output, input); Assert.IsNotNull(connection); Assert.IsTrue(virtualStudio.Connections.Count == 1); }
public void Init() { virtualStudio = new VirtualStudio(); var placeholder = new PlaceholderStudioComponent(); placeholder.AddInput("Input 1", DataKind.Audio, "UDP"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithUdpAudioInput = virtualStudio.AddComponent(placeholder); componentWithUdpAudioInputInRepository = placeholder; placeholder = new PlaceholderStudioComponent(); placeholder.AddInput("Input 1", DataKind.Audio, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithWebRtcAudioInput = virtualStudio.AddComponent(placeholder); placeholder = new PlaceholderStudioComponent(); placeholder.AddInput("Input 1", DataKind.Video, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithWebRtcVideoInput = virtualStudio.AddComponent(placeholder); placeholder = new PlaceholderStudioComponent(); placeholder.AddOutput("Output 1", DataKind.Audio, "UDP"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithUdpAudioOutput = virtualStudio.AddComponent(placeholder); placeholder = new PlaceholderStudioComponent(); placeholder.AddOutput("Output 1", DataKind.Audio, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithWebRtcAudioOutput = virtualStudio.AddComponent(placeholder); placeholder = new PlaceholderStudioComponent(); placeholder.AddOutput("Output 1", DataKind.Video, "WebRtc"); virtualStudio.ComponentRepository.AddPlaceholder(placeholder); componentWithWebRtcVideoOutput = virtualStudio.AddComponent(placeholder); }