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 Init() { virtualStudioWithArrangement = new VirtualStudioWithArrangement(); var placeholder = new PlaceholderStudioComponent(); virtualStudioWithArrangement.ComponentRepository.AddPlaceholder(placeholder); componentNode = virtualStudioWithArrangement.AddComponent(placeholder, new Position2D(0, 0)); }
public static VirtualStudioWithArrangementDto ToDto(this VirtualStudioWithArrangement virtualStudioWithArrangement) { return(new VirtualStudioWithArrangementDto { ComponentNodes = virtualStudioWithArrangement.ComponentNodes.ToDto(), Connections = virtualStudioWithArrangement.Connections.ToDto(), ComponentRepository = virtualStudioWithArrangement.ComponentRepository.ToDto() }); }
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 async Task Init() { virtualStudio = new VirtualStudioWithArrangement(); var placeholderComponent = new PlaceholderStudioComponent(); placeholderComponent.SetName("New Placeholder"); var addPlaceholderToRepositoryCommand = new AddPlaceholderToRepositoryCommand(placeholderComponent.ToDto()); await addPlaceholderToRepositoryCommand.Process(virtualStudio); }
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 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); }
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 VirtualStudio GetVirtualStudio(string name) { if (string.IsNullOrEmpty(name)) { return(null); } if (virtualStudios.ContainsKey(name)) { return(virtualStudios[name].VirtualStudio); } else { var virtualStudio = new VirtualStudioWithArrangement(logger: loggerFactory.CreateLogger <VirtualStudio>()); InitializeVirtualStudio(virtualStudio); var eventProcessor = virtualStudioUpdateListener is null ? null : new VirtualStudioEventProcessor(virtualStudio, name, virtualStudioUpdateListener); virtualStudios.Add(name, new VirtualStudioEntry { VirtualStudio = virtualStudio, EventProcessor = eventProcessor }); return(virtualStudio); } }
public void Init() { virtualStudio = new VirtualStudioWithArrangement(); }