protected override void EstablishContext()
 {
     idNameService = mocks.StrictMock<IIdNameService>();
     schoolCategoryProvider = new SchoolCategoryProvider(idNameService);
     comparer = new SchoolCategoryComparer(schoolCategoryProvider);
 }
        public void Should_load_school_categories_correctly()
        {
            Assert.That(actualModel.Count(), Is.EqualTo(suppliedSchoolsInformation.GroupBy(x => x.SchoolCategory).Count() - 2));

            var comparer = new SchoolCategoryComparer(schoolCategoryProvider);

            string previousSchoolCategoryName = String.Empty;

            foreach (var schoolCategoryModel in actualModel)
            {
                var schoolCategory = schoolCategoryModel.Category;

                if (!string.IsNullOrEmpty(previousSchoolCategoryName))
                    Assert.That(comparer.Compare(schoolCategory, previousSchoolCategoryName), Is.EqualTo(1));

                previousSchoolCategoryName = schoolCategory;

                Assert.That(schoolCategoryModel.Schools.Count(), Is.EqualTo(suppliedSchoolsInformation.Count(x => x.SchoolCategory == schoolCategory)), "schoolCategory.Name = " + schoolCategoryModel.Category);
            }
        }