예제 #1
0
        public void NumbersHolder_DefaultConstructor_ResturnsEmptyArray()
        {
            //Arrange
            var numbersHolder = new NumbersHolder();

            //Act
            //numbersHolder.Add(0);
            var result = numbersHolder.Fetch();

            //Assert
            //Assert.Empty(result);
            result.Should().BeEmpty("because we do not put anything there");
        }
예제 #2
0
        public void RemoveAsync_FromEmpty_ThrowsInvalidOperationException()
        {
            //Arrange
            var holder = new NumbersHolder();

            //Act
            Func <Task> func = () => holder.RemoveAsync();

            Task Act() => holder.RemoveAsync();

            //Assert
            //Assert.ThrowsAsync<InvalidOperationException>(func);
            Assert.ThrowsAsync <InvalidOperationException>(Act);

            func.Should().ThrowAsync <InvalidOperationException>().WithMessage("message");
        }
예제 #3
0
        public async Task RemoveAsync_RemoveSingleNumber_CountZero()
        {
            //Arrange
            var value  = new Faker().Random.Number();
            var holder = new NumbersHolder();

            holder.Add(value);

            //Act
            await holder.RemoveAsync();

            var result = holder.Count;

            //Assert
            Assert.Equal(value, result);
            result.Should().Be(value);
        }
예제 #4
0
        public void Add_SingleNumber_ResultsSameSingleNumber()
        {
            //Arrange
            var holder = new NumbersHolder();
            int number = default;

            //Act
            holder.Add(number);
            //holder.Add(3);
            var result = holder.Fetch();

            //Assert
            // Assert.Equal(new[] { number }, result);
            // Assert.Single(result);
            // Assert.Single(result, number);

            using (new AssertionScope())
            {
                //5.Should().Be(-5);
                result.Should().ContainSingle().And.Contain(number);
            }
        }