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 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 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 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 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 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 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 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 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 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 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); }
public async Task Adds_an_Output_to_a_PlaceholderComponent_in_Components_of_VirtualStudio() { var placeholder = virtualStudio.ComponentRepository.Placeholders.First(); var addedPlaceholder = virtualStudio.AddComponent(placeholder); var newOutput = new StudioComponentEndpointDto { Id = 0, Name = "New Output", DataKind = DataKind.Audio, ConnectionType = "UDP" }; var addOutputToPlaceholderCommand = new AddOutputToPlaceholderCommand(addedPlaceholder.Id, newOutput); await addOutputToPlaceholderCommand.Process(virtualStudio); Assert.IsTrue(addedPlaceholder.Outputs.Count == 1); Assert.IsTrue(placeholder.Id != addedPlaceholder.Id); Assert.AreEqual(newOutput.Name, addedPlaceholder.Outputs[0].Name); Assert.AreEqual(EndpointIOType.Output, addedPlaceholder.Outputs[0].IOType); Assert.AreEqual(newOutput.DataKind, addedPlaceholder.Outputs[0].DataKind); Assert.AreEqual(newOutput.ConnectionType, addedPlaceholder.Outputs[0].ConnectionType); }
private bool ProcessSync(VirtualStudio virtualStudio) { var foundComponent = virtualStudio.ComponentRepository.Find(c => c.Id == componentId); if (foundComponent is null) { Error = new OperationError(ErrorType.NotFound, $"StudioComponent with ID {componentId} not found in ComponentRepository."); return(false); } if (virtualStudio.Components.Contains(foundComponent)) { Error = new OperationError(ErrorType.InvalidOperation, $"The StudioComponent with ID {componentId} was already added."); return(false); } virtualStudio.AddComponent(foundComponent); return(true); }
public void Calls_ChangeConnectionState_when_a_connection_state_gets_changed(ConnectionState connectionState) { var componentMock = new Mock <IStudioComponent>(); var input = new StudioComponentInput(1, "input", DataKind.Audio, "WebRTC", componentMock.Object); var output = new StudioComponentOutput(2, "output", DataKind.Audio, "WebRTC", componentMock.Object); componentMock.Setup(m => m.Inputs).Returns(new List <StudioComponentInput> { input }); componentMock.Setup(m => m.Outputs).Returns(new List <StudioComponentOutput> { output }); virtualStudio.ComponentRepository.AddClient(componentMock.Object); virtualStudio.AddComponent(componentMock.Object); var connection = virtualStudio.CreateConnection(output, input); operationHandlerMock.Setup(m => m.ChangeConnectionState(virtualStudioName, 1, connectionState)).Verifiable(); componentMock.Raise(m => m.InputConnectionStateUpdated += null, null, (input, connection.Id, connectionState)); componentMock.Raise(m => m.OutputConnectionStateUpdated += null, null, (output, connection.Id, connectionState)); operationHandlerMock.Verify(); }
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); }