public void WhenNumbersContainsMoreThanItem_AndMoreThanOneItemIsTop_ReturnsAllItems_AndCount()
        {
            var numbers = new List <int> {
                7, 5, 7, 4, 5, 5, 7
            };

            var result = TopRepeatedNumber.FindIn(numbers);

            Assert.IsNotNull(result);
            CollectionAssert.AreEqual(new List <int> {
                7, 5
            }, result.NumbersWithMaxCount.ToList());
            Assert.AreEqual(3, result.MaxCount);
        }
        public void WhenNumbersContainsOneItem_ItemIsReturned_AndCountIsOne()
        {
            var numbers = new List <int> {
                2
            };

            var result = TopRepeatedNumber.FindIn(numbers);

            Assert.IsNotNull(result);
            CollectionAssert.AreEqual(new List <int> {
                2
            }, result.NumbersWithMaxCount.ToList());
            Assert.AreEqual(1, result.MaxCount);
        }
 public void WhenNumbersIsEmpty_ThrowsArgumentNullException()
 {
     Assert.ThrowsException <ArgumentException>(() => TopRepeatedNumber.FindIn(Enumerable.Empty <int>()));
 }
 public void WhenNumbersIsNull_ThrowsArgumentNullException()
 {
     Assert.ThrowsException <ArgumentNullException>(() => TopRepeatedNumber.FindIn(null));
 }