public void NotAttached()
        {
            var dlSubscription = new ActiveSubsciptionManager();

            var subs1 = new TestSubscription();

            Assert.IsFalse(dlSubscription.IsActive(subs1));
        }
        public static TestSubscription GetInstance()
        {
            if (instance == null)
            {
                instance = new TestSubscription();
            }

            return(instance);
        }
Ejemplo n.º 3
0
        public IActionResult updateAthelete(TestSubscriptionVM testSubscription)
        {
            TestSubscription data = db.TestSubscriptions.Where(s => s.TestSubscriptionID == testSubscription.TestSubscriptionID).FirstOrDefault();

            data.AthleteId = testSubscription.AtheleteId;
            data.Distance  = testSubscription.Distance;
            db.SaveChanges();
            return(RedirectToAction("Details", new { id = testSubscription.TestID }));
        }
Ejemplo n.º 4
0
        public IActionResult DeleteAtheleteTest(int id, TestSubscriptionVM testSubscription)
        {
            TestSubscription test = db.Set <TestSubscription>().SingleOrDefault(c => c.TestSubscriptionID == testSubscription.TestSubscriptionID);

            if (test != null)
            {
                db.Entry(test).State = Microsoft.EntityFrameworkCore.EntityState.Deleted;
                db.SaveChanges();
            }
            return(RedirectToAction("Details", new { id = testSubscription.TestID }));
        }
        public void AttachAndDetach()
        {
            var dlSubscription = new ActiveSubsciptionManager();

            var subs = new TestSubscription();

            dlSubscription.Attach(subs);

            Assert.IsTrue(dlSubscription.IsActive(subs));

            dlSubscription.Detach(subs);
            Assert.IsFalse(dlSubscription.IsActive(subs));
        }
Ejemplo n.º 6
0
        public async Task NoItemsCompletesTask()
        {
            Func <MessageResult, object, Task <bool> > callback = (result, state) =>
            {
                return(TaskAsyncHelper.False);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 0);

            using (subscription)
            {
                await subscription.Work().OrTimeout();
            }
        }
        public void DetachTwiceInactive()
        {
            var dlSubscription = new ActiveSubsciptionManager();

            var subs1 = new TestSubscription();

            dlSubscription.Attach(subs1);

            var subs2 = new TestSubscription();

            dlSubscription.Attach(subs2);

            dlSubscription.Detach(subs2);
            dlSubscription.Detach(subs2);

            Assert.IsTrue(dlSubscription.IsActive(subs1));
        }
        public void AttachManyAndDetachActive()
        {
            var dlSubscription = new ActiveSubsciptionManager();

            var subs1 = new TestSubscription();

            dlSubscription.Attach(subs1);

            var subs2 = new TestSubscription();

            dlSubscription.Attach(subs2);

            var subs3 = new TestSubscription();

            dlSubscription.Attach(subs3);

            dlSubscription.Detach(subs1);
            Assert.IsTrue(dlSubscription.IsActive(subs2) ^ dlSubscription.IsActive(subs3));
        }
Ejemplo n.º 9
0
        protected void RemoveEventListener(TestSubscription testSubscription)
        {
            var subscriptionsToRemove = new List <string>();

            foreach (RTSubscription existingSubscription in subscriptions.Values)
            {
                if (testSubscription(existingSubscription))
                {
                    rt.Unsubscribe(existingSubscription.Id);
                    subscriptionsToRemove.Add(existingSubscription.Id);
                }
            }

            foreach (var id in subscriptionsToRemove)
          #if NET_35
            { subscriptions.Remove(id); }
          #else
            { subscriptions.TryRemove(id, out _); }
          #endif
        }
Ejemplo n.º 10
0
        public async Task FaultedTaskShouldPropagateAsync()
        {
            Func <MessageResult, object, Task <bool> > callback = async(result, state) =>
            {
                await Task.Delay(500);

                await TaskAsyncHelper.FromError(new Exception());

                return(false);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 1);

            using (subscription)
            {
                Task task = subscription.Work();
                await Assert.ThrowsAsync <Exception>(() => task.OrTimeout());

                Assert.True(task.IsFaulted);
            }
        }
Ejemplo n.º 11
0
        public async Task CancelledTaskShouldThrowTaskCancelledAsync()
        {
            Func <MessageResult, object, Task <bool> > callback = async(result, state) =>
            {
                await Task.Yield();

                var tcs = new TaskCompletionSource <bool>();
                tcs.TrySetCanceled();
                return(await tcs.Task);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 1);

            using (subscription)
            {
                Task task = subscription.Work();

                await Assert.ThrowsAsync <TaskCanceledException>(() => task.OrTimeout());

                Assert.True(task.IsCanceled);
            }
        }
Ejemplo n.º 12
0
        public IActionResult AddNewAthelete(TestSubscriptionVM testSubscription)
        {
            if (ModelState.IsValid)
            {
                TestSubscription Subscription = new TestSubscription
                {
                    Distance  = testSubscription.Distance,
                    AthleteId = testSubscription.AtheleteId,
                    TestID    = testSubscription.TestID
                };

                db.Add(Subscription);
                db.SaveChanges();
                if (Subscription.TestID > 0)
                {
                    return(RedirectToAction("Details", new { id = Subscription.TestID }));
                }
            }
            ViewBag.ListOfTests = db.TestTypes.ToList();
            ModelState.AddModelError("", "some thing went wrong");
            return(View());
        }
Ejemplo n.º 13
0
        public void FaultedTaskShouldPropagateSync()
        {
            Func <MessageResult, object, Task <bool> > callback = async(result, state) =>
            {
                await TaskAsyncHelper.FromError(new Exception());

                return(false);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 1);

            using (subscription)
            {
                Task task = null;
                TestUtilities.AssertUnwrappedException <Exception>(() =>
                {
                    task = subscription.Work();
                    task.Wait();
                });

                Assert.True(task.IsFaulted);
            }
        }
Ejemplo n.º 14
0
        public void CancelledTaskShouldThrowTaskCancelledSync()
        {
            Func <MessageResult, object, Task <bool> > callback = (result, state) =>
            {
                var tcs = new TaskCompletionSource <bool>();
                tcs.TrySetCanceled();
                return(tcs.Task);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 1);

            using (subscription)
            {
                Task task = null;
                TestUtilities.AssertUnwrappedException <TaskCanceledException>(() =>
                {
                    task = subscription.Work();
                    task.Wait();
                });

                Assert.True(task.IsCanceled);
            }
        }
Ejemplo n.º 15
0
        public async Task ReturningFalseFromCallbackCompletesTaskAndDisposesSubscription()
        {
            Func <MessageResult, object, Task <bool> > callback = (result, state) =>
            {
                return(TaskAsyncHelper.False);
            };

            var subscription = new TestSubscription("TestSub", new[] { "a" }, callback, 1);

            var disposableMock = new Mock <IDisposable>();

            subscription.Disposable = disposableMock.Object;
            disposableMock.Setup(m => m.Dispose()).Verifiable();

            using (subscription)
            {
                var task = subscription.Work();
                Assert.True(task.IsCompleted);
                await task.OrTimeout();

                disposableMock.Verify(m => m.Dispose(), Times.Once());
            }
        }