Unit Testing - Single or Multiple Asserts per test

In the course " Unit Testing for C# Developers", the Stack exercise, Mosh uses two separate methods to test the Stack.Pop and Stack.Peek methods.

One to verify that the result is the last item added to the stack and the second method verifies the number of items in the stack.

Is it allowed to combine the two Asserts in one method like:

        [Test]
        public void Pop_StackWithObjects_ReturnTopObjectAndRemoveTopObject()
        {
            _stack.Push("a");
            _stack.Push("b");
            _stack.Push("c");

            var result = _stack.Pop();

            Assert.That(result, Is.EqualTo("c"));
            Assert.That(_stack.Count, Is.EqualTo(2));
        }

If not, why not?

If it’s “allowed” depends on the guidelines your team follows.

It’s usually better to test a single business rule per test. It’s easier to see which and how many rules a change failed to keep if tests go red. Also the tests are more maintainable this way. You might want to add additional test cases to a test (e.g. edge cases) or the business rule might change. It’s troublesome to do so if your tests test multiple rules in one go.

Yes, that makes sense. Thanks for the feedback.