コード例 #1
0
        public void TeachercCanTeachASingleClass()
        {
            var underTest = new Teacher(3);
            underTest.AddClassTitle("Remedial Math");

            Assert.Equal("Remedial Math", underTest.ClassTitles.Single());
        }
コード例 #2
0
        public void TeacherGradesHomework()
        {
            bool assigned = false;
            var t = new Teacher(1);
            var offer = new ClassOffering(t, (assignment, name) => { assigned = true; return 5; });

            var s = new Student(2);
            offer.TurnInAssignment(s, "assignment", "result");

            Assert.True(assigned);
        }
コード例 #3
0
        public void AStudentCanRegistorForNewClassOfferings()
        {
            var title = default(string);
            var t = new Teacher(1);


            t.OnClassAdded += (tt, args) => title = args.ClassTitle;

            t.AddClassTitle("A cool class");
            Assert.Equal("A cool class", title);
        }
コード例 #4
0
        public void DuplicateClassIsNotAdded()
        {
            var underTest = new Teacher(3);
            underTest.AddClassTitle("Remedial Math");
            underTest.AddClassTitle("General Math");
            underTest.AddClassTitle("Advanced Math");
            underTest.AddClassTitle("General Math");

            Assert.Equal("Remedial Math", underTest.ClassTitles.First());
            Assert.Equal("General Math", underTest.ClassTitles.Skip(1).First());
            Assert.Equal("Advanced Math", underTest.ClassTitles.Last());
            Assert.Equal(3, underTest.ClassTitles.Count());
        }
コード例 #5
0
        public void TeachercCanTeachMultipleClass()
        {
            var underTest = new Teacher(3);
            underTest.AddClassTitle("Remedial Math");
            underTest.AddClassTitle("General Math");
            underTest.AddClassTitle("Advanced Math");


            Assert.Equal("Remedial Math", underTest.ClassTitles.First());
            Assert.Equal("General Math", underTest.ClassTitles.Skip(1).First());
            Assert.Equal("Advanced Math", underTest.ClassTitles.Last());
            Assert.Equal(3, underTest.ClassTitles.Count());
        }
コード例 #6
0
        public void TeachHasNameAndSubjectAreaAndId()
        {
            var underTest = new Teacher(7)
            {
                FirstName = "Sample",
                LastName = "Teacher",
                SubjectArea = "Maths"
            };

            Assert.Equal(7, underTest.Id);
            Assert.Equal("Maths", underTest.SubjectArea);
            Assert.False(underTest.ClassTitles.Any());

        }
コード例 #7
0
 public ClassOffering(Teacher leadInstructor, Func<string, string, int> gradingFunction)
 {
     this.leadInstructor = leadInstructor;
     this.gradingFunc = gradingFunction;
 }
コード例 #8
0
 public ClassOffering(Teacher leadInstructor, Func <string, string, int> gradingFunction)
 {
     this.leadInstructor = leadInstructor;
     this.gradingFunc    = gradingFunction;
 }