public void OnPropChanged()
 {
     ObservableProperty<MockQueueable> callback = null;
     MockQueueable mockObj = new MockQueueable();
     _prop.OnChanged += (obj) => { callback = obj as ObservableProperty<MockQueueable>; };
     Assert.AreEqual(null, callback, "Callback not yet triggered");
     Assert.AreEqual(null, _prop.Value, "Object not yet assigned");
     _prop.Value = mockObj;
     Assert.AreEqual(_prop, callback, "Callback triggered");
     Assert.AreEqual(mockObj, _prop.Value, "New object assigned");
 }
    public void Setup()
    {
        _executor = new ParallelQueueableExecutor();
        _executor.OnBegan += (ex) => _executorBeginCallCount++;
        _executor.OnKilled += (ex) => _executorKillCallCount++;
        _executor.OnEnded += (ex) => _executorEndCallCount++;

        _queueableOne = new MockQueueable();
        _queueableOne.OnBegan += (queue) => _queueOneBeginCallCount++;
        _queueableOne.OnKilled += (queue) => _queueOneKillCallCount++;
        _queueableOne.OnEnded += (queue) => _queueOneEndCallCount++;

        _queueableTwo = new MockQueueable();
        _queueableTwo.OnBegan += (queue) => _queueTwoBeginCallCount++;
        _queueableTwo.OnKilled += (queue) => _queueTwoKillCallCount++;
        _queueableTwo.OnEnded += (queue) => _queueTwoEndCallCount++;

        _executorBeginCallCount = 0;
        _executorKillCallCount = 0;
        _executorEndCallCount = 0;
        _queueOneBeginCallCount = 0;
        _queueOneKillCallCount = 0;
        _queueOneEndCallCount = 0;
        _queueTwoBeginCallCount = 0;
        _queueTwoKillCallCount = 0;
        _queueTwoEndCallCount = 0;
    }