示例#1
0
        public void GaroIsDefaultHugger()
        {
            var queue = new HugQueue();
            var hug   = queue.NextHug();

            Assert.IsType <Garo>(hug.Hugger);
        }
示例#2
0
        public void DefaultHuggerIsUsedIfNoOneIsInQueue()
        {
            var queue = new HugQueue();

            queue.SetDefaultHugger(new Dane());

            var hug = queue.NextHug();

            Assert.IsType <Dane>(hug.Hugger);
        }
示例#3
0
        public void HuggersGetBackInLine()
        {
            var queue = new HugQueue();

            queue.AddHugger(new Dane());

            var firstHug  = queue.NextHug();
            var secondHug = queue.NextHug();

            Assert.IsType <Dane>(firstHug.Hugger);
            Assert.IsType <Dane>(secondHug.Hugger);
        }
示例#4
0
        public void HuggersGoBackToTheEndOfTheLine()
        {
            var queue = new HugQueue();

            queue.AddHugger(new Dane());
            queue.AddHugger(new Garo());

            var firstHug  = queue.NextHug();
            var secondHug = queue.NextHug();
            var thirdHug  = queue.NextHug();

            Assert.IsType <Dane>(firstHug.Hugger);
            Assert.IsType <Garo>(secondHug.Hugger);
            Assert.IsType <Dane>(thirdHug.Hugger);
        }
示例#5
0
        public void SetDefaultHuggerThrowsExceptionIfNull()
        {
            var queue = new HugQueue();

            Assert.Throws <ArgumentNullException>(() => queue.SetDefaultHugger(null));
        }