public void AddStudent_DuplicateName_ThrowsException(string name)
        {
            var cp = new ClassPeriod();

            cp.AddStudent("Black Canary");
            Assert.ThrowsException <DuplicateStudentException>(() => cp.AddStudent(name));
            cp.Students.Count.Should().Be(1);
        }
        public void AddStudent_UniqueName_Succeeds()
        {
            var cp = new ClassPeriod();

            cp.AddStudent("Black Canary");
            cp.AddStudent("Killer Frost");
            cp.Students.Select(s => s.Name).Should().BeEquivalentTo("Black Canary", "Killer Frost");
        }
        public void AddStudent_TrimsWhitespace(string original, string expected)
        {
            var cp = new ClassPeriod();

            cp.AddStudent(original);
            cp.Students.First().Name.Should().Be(expected);
        }
        public void GiveTicketsToStudent_IgnoresNonPositiveNumbers(int tickets)
        {
            var cp = new ClassPeriod();

            cp.AddStudent("Black Canary");
            cp.GiveTicketsTo(cp.Students.Last(), tickets);
            cp.Students.Single().Tickets.Should().Be(0);
        }