public void DoActionOnConcurrentObjectsShouldCallAllObjects() { var createdSampleClasses = new List <SampleConcurrentClass>(); Func <SampleConcurrentClass> sampleCreator = () => { var sample = new SampleConcurrentClass(); createdSampleClasses.Add(sample); return(sample); }; this.proxyParallelManager = new MockParallelOperationManager(sampleCreator, 4, true); Assert.AreEqual(4, createdSampleClasses.Count, "Number of Concurrent Objects created should be 4"); int count = 0; this.proxyParallelManager.DoActionOnAllConcurrentObjects( (sample) => { count++; Assert.IsTrue(createdSampleClasses.Contains(sample), "Called object must be in the created list."); // Make sure action is not called on same object multiple times createdSampleClasses.Remove(sample); }); Assert.AreEqual(4, count, "Number of Concurrent Objects called should be 4"); Assert.AreEqual(0, createdSampleClasses.Count, "All concurrent objects must be called."); }
public void UpdateHandlerForManagerShouldAddNewHandlerIfNotexist() { var manager = new SampleConcurrentClass(true); this.proxyParallelManager.UpdateHandlerForManager(manager, new SampleHandlerClass()); Assert.AreEqual(3, this.proxyParallelManager.GetConcurrentManagersCount()); Assert.AreEqual(1, this.proxyParallelManager.GetConcurrentManagerInstances().Where(m => m.CheckValue == true).Count()); }
public void RemoveManagerShouldRemoveAManagerFromConcurrentManagerList() { var manager = new SampleConcurrentClass(true); this.proxyParallelManager.AddManager(manager, new SampleHandlerClass()); Assert.AreEqual(3, this.proxyParallelManager.GetConcurrentManagersCount()); this.proxyParallelManager.RemoveManager(manager); Assert.AreEqual(2, this.proxyParallelManager.GetConcurrentManagersCount()); Assert.AreEqual(0, this.proxyParallelManager.GetConcurrentManagerInstances().Where(m => m.CheckValue == true).Count()); }
public void AbstractProxyParallelManagerShouldCreateCorrectNumberOfConcurrentObjects() { var createdSampleClasses = new List <SampleConcurrentClass>(); Func <SampleConcurrentClass> sampleCreator = () => { var sample = new SampleConcurrentClass(); createdSampleClasses.Add(sample); return(sample); }; this.proxyParallelManager = new MockParallelOperationManager(sampleCreator, 3, true); Assert.AreEqual(3, createdSampleClasses.Count, "Number of Concurrent Objects created should be 3"); }
public void UpdateHandlerForManagerShouldUpdateHandlerForGivenManager() { var manager = new SampleConcurrentClass(true); this.proxyParallelManager.AddManager(manager, new SampleHandlerClass()); // For current handler the value of variable CheckValue should be false; Assert.IsFalse(this.proxyParallelManager.GetHandlerForGivenManager(manager).CheckValue); var newHandler = new SampleHandlerClass(true); // Update manager with new handler this.proxyParallelManager.UpdateHandlerForManager(manager, newHandler); // It should not add new manager but update the current one Assert.AreEqual(3, this.proxyParallelManager.GetConcurrentManagersCount()); Assert.IsTrue(this.proxyParallelManager.GetHandlerForGivenManager(manager).CheckValue); }