コード例 #1
0
        public void CollectionIsSynchronized()
        {
            // arrange
            // act
            var result = new PriorityCollection <IPriorityItem>().IsSynchronized;

            // assert
            result.Should().BeTrue();
        }
コード例 #2
0
        public void PriorityCollectionPop()
        {
            PriorityCollection <int> pc = new PriorityCollection <int>();

            pc.Add(0);
            pc.Add(100);
            pc.Add(-100);

            Assert.AreEqual <int>(100, pc.Pop());
        }
コード例 #3
0
        public void PriorityCollectionMinMax()
        {
            PriorityCollection <double> pc = new PriorityCollection <double>();

            pc.Add(123.123);
            pc.Add(999.999);
            pc.Add(111.111);

            Assert.AreEqual <double>(111.111, pc.Min);
            Assert.AreEqual <double>(999.999, pc.Max);
        }
コード例 #4
0
        protected CollectionBase GeneratePriorityCollectionFromReader(IDataReader returnData)
        {
            PriorityCollection mlsCollection = new PriorityCollection();

            while (returnData.Read())
            {
                Priority newPriority = new Priority((int)returnData["PriorityId"], (int)returnData["ProjectId"], (string)returnData["PriorityName"], (string)returnData["PriorityImageUrl"]);
                mlsCollection.Add(newPriority);
            }
            return(mlsCollection);
        }
コード例 #5
0
        public void TryingToTakeAnItemWhenTheCollectionIsEmptyReturnsFalse()
        {
            // arrange
            var           sut = new PriorityCollection <IPriorityItem>();
            IPriorityItem retrievedItem;

            // act
            var result = sut.TryTake(out retrievedItem);

            // assert
            result.Should().BeFalse();
            retrievedItem.Should().BeNull();
        }
コード例 #6
0
        public void AddingPrioritylessItemToEmptyCollectionDoesNotThrowAnException()
        {
            // arrange
            var unprioritizedDummy = PriorityItemHelper.CreatePriorityMock(null);

            unprioritizedDummy.SetupAllProperties();

            var sut = new PriorityCollection <IPriorityItem>();
            var act = new Action(() => sut.TryAdd(unprioritizedDummy.Object));

            // act
            // assert
            act.Should().NotThrow <InvalidOperationException>();
        }
コード例 #7
0
        public void AddingSingleItemToCollectionWorksCorrectly()
        {
            // arrange
            var itemDummy = PriorityItemHelper.CreatePriorityMock(1);

            var sut = new PriorityCollection <IPriorityItem>();

            // act
            var result = sut.TryAdd(itemDummy.Object);

            // assert
            result.Should().BeTrue();
            sut.AsEnumerable().First().Should().Be(itemDummy.Object);
        }
コード例 #8
0
        public void PriorityCollectionICollection()
        {
            PriorityCollection <DateTime> pc = new PriorityCollection <DateTime>();

            pc.Add(DateTime.Now);
            pc.Add(DateTime.MaxValue);
            pc.Add(DateTime.MinValue);

            Assert.AreEqual <bool>(false, pc.IsReadOnly);
            Assert.AreEqual <int>(3, pc.Count);
            Assert.AreEqual <bool>(true, pc.Contains(DateTime.MaxValue));
            Assert.AreEqual <bool>(true, pc.Remove(DateTime.MaxValue));
            pc.Clear();
            Assert.AreEqual <int>(0, pc.Count);
        }
コード例 #9
0
        public void IndexOutOfRangeIsCheckedCorrectly()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);
            var arr = new IPriorityItem[1];

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);
            var act = new Action(() => sut.CopyTo(arr, -1));

            // act
            // assert
            act.Should().Throw <ArgumentOutOfRangeException>();
        }
コード例 #10
0
        public void ArraySizeIsCheckedCorrectlyForCopying()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);
            var arr = new IPriorityItem[1];

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);
            var act = new Action(() => sut.CopyTo(arr, 0));

            // act
            // assert
            act.Should().Throw <ArgumentException>("Target array is too small to copy items");
        }
コード例 #11
0
        public void AddingSecondItemToCollectionAddsItInTheCorrectPosition()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);

            // act
            var result = sut.TryAdd(higherPriorityDummy.Object);

            // assert
            result.Should().BeTrue();
            sut.AsEnumerable().First().Should().Be(higherPriorityDummy.Object);
        }
コード例 #12
0
        public void ToArrayCopiesItemsInCollectionToANewArray()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            // act
            var array = sut.ToArray();

            // assert
            array.Length.Should().Be(2);
            array.First().Should().Be(higherPriorityDummy.Object);
        }
コード例 #13
0
        public void CastingToIEnumerableAndEnumeratingTheCollectionWorksCorrectly()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            // act
            var enumerator = ((IEnumerable)sut).GetEnumerator();

            // assert
            enumerator.MoveNext();
            enumerator.Current.Should().Be(higherPriorityDummy.Object);
        }
コード例 #14
0
        public void TakingAnItemFromTheCollectionCorrectlyDetachesItsEvent()
        {
            // arrange
            var itemDummy = PriorityItemHelper.CreatePriorityMock(1);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);

            IPriorityItem item;

            sut.TryTake(out item);

            // act
            itemDummy.Raise(t => t.PriorityChanged += null, new EventArgs());

            // assert
            sut.Count.Should().Be(0);
        }
コード例 #15
0
        public void AddingPrioritylessItemWillAddItToTheEndOfTheCollection()
        {
            // arrange
            var itemDummy          = PriorityItemHelper.CreatePriorityMock(1);
            var unprioritizedDummy = PriorityItemHelper.CreatePriorityMock(null);

            unprioritizedDummy.SetupAllProperties();

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);

            // act
            var result = sut.TryAdd(unprioritizedDummy.Object);

            // assert
            result.Should().BeTrue();
            sut.AsEnumerable().Last().Should().Be(unprioritizedDummy.Object);
            unprioritizedDummy.Object.Priority.Should().Be(1);
        }
コード例 #16
0
        public void TakingAnItemFromTheCollectionAlwaysReturnsTheItemWithTheHighestPriority()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            IPriorityItem retrievedItem;

            // act
            var result = sut.TryTake(out retrievedItem);

            // assert
            result.Should().BeTrue();
            retrievedItem.Should().Be(higherPriorityDummy.Object);
        }
コード例 #17
0
        public void PriorityCollectionEnumerate()
        {
            PriorityCollection <DateTime> pc = new PriorityCollection <DateTime>();

            pc.Add(DateTime.Now);
            pc.Add(DateTime.MaxValue);
            pc.Add(DateTime.MinValue);

            DateTime?last = null;

            foreach (DateTime dt in pc)
            {
                if (null != last)
                {
                    Assert.IsTrue(dt > last, "Order should be least to greatest.");
                }

                last = dt;
            }
        }
コード例 #18
0
        public void AdjustingItemPriorityMovesTheItemToTheCorrectLocation()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            higherPriorityDummy
            .Setup(t => t.Priority)
            .Returns(2);

            // act
            higherPriorityDummy.Raise(t => t.PriorityChanged += null, new EventArgs());

            // assert
            sut.AsEnumerable().Last().Should().Be(higherPriorityDummy.Object);
        }
コード例 #19
0
 public static List <PriorityCollection> GetPriority()
 {
     try
     {
         DataTable dt           = SqlHelper.ExecuteDataTable(CS, CommandType.StoredProcedure, "[dbo].[uspGetPriority]");
         var       PriorityList = new List <PriorityCollection>();
         foreach (DataRow row in dt.Rows)
         {
             var obj = new PriorityCollection()
             {
                 Priority = (string)row["Priority"]
             };
             PriorityList.Add(obj);
         }
         return(PriorityList);
         // return dt;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #20
0
        public void EnumeratingCollectionWorksCorrectly()
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            // act
            // assert
            var counter = 0;

            foreach (var item in sut)
            {
                item
                .Should()
                .Be(counter == 0 ? higherPriorityDummy.Object : itemDummy.Object);
                counter++;
            }
        }
コード例 #21
0
        public void CopyingToArrayWorksCorrectly(int startIndex)
        {
            // arrange
            var itemDummy           = PriorityItemHelper.CreatePriorityMock(1);
            var higherPriorityDummy = PriorityItemHelper.CreatePriorityMock(0);
            var arr = new IPriorityItem[3];

            var sut = new PriorityCollection <IPriorityItem>();

            sut.TryAdd(itemDummy.Object);
            sut.TryAdd(higherPriorityDummy.Object);

            // act
            sut.CopyTo(arr, startIndex);

            // assert
            for (var r = 0; r < startIndex; r++)
            {
                arr[r].Should().BeNull();
            }
            arr[startIndex].Should().Be(higherPriorityDummy.Object);
            arr[startIndex + 1].Should().Be(itemDummy.Object);
        }
コード例 #22
0
 /// <summary>
 /// Sets the tag collection.
 /// </summary>
 /// <param name="priorityCollection">The priority collection.</param>
 public void SetTagCollection(PriorityCollection priorityCollection)
 {
     this.priorities = priorityCollection;
 }