protected override void EstablishContext()
        {
            //Prepare supplied data collections
            suppliedStudentInformationData = GetSuppliedStudentInformation();
            suppliedRootMetricNode = GetSuppliedRootNode();
            suppliedRootMetricHierarchy = GetSuppliedRootMetricHierarchy();
            suppliedRootIEnumerableOfKeyValuePair = GetSuppliedRootKeyValuePairs();

            //Set up the mocks
            studentInformationRepository = mocks.StrictMock<IRepository<StudentInformation>>();
            rootMetricNodeResolver = mocks.StrictMock<IRootMetricNodeResolver>();
            domainMetricService = mocks.StrictMock<IDomainMetricService<StudentSchoolMetricInstanceSetRequest>>();
            metricTreeToIEnumerableOfKeyValuePairProvider = mocks.StrictMock<IMetricTreeToIEnumerableOfKeyValuePairProvider>();

            //Set expectations
            Expect.Call(studentInformationRepository.GetAll()).Return(suppliedStudentInformationData);
            Expect.Call(rootMetricNodeResolver.GetRootMetricNode()).Return(suppliedRootMetricNode);

            Expect.Call(domainMetricService.Get(null))
                .Constraints(
                    new ActionConstraint<StudentSchoolMetricInstanceSetRequest>(x =>
                    {
                        Assert.That(x.SchoolId == suppliedSchoolId);
                        Assert.That(x.StudentUSI == suppliedStudentUSI);
                        Assert.That(x.MetricVariantId == suppliedRootMetricNode.MetricVariantId);
                    })
                ).Return(suppliedRootMetricHierarchy);
            Expect.Call(metricTreeToIEnumerableOfKeyValuePairProvider.FlattenMetricTree((ContainerMetric) suppliedRootMetricHierarchy.RootNode)).Return(suppliedRootIEnumerableOfKeyValuePair);
        }
 protected virtual void InitializeSuppliedData()
 {
     //Prepare supplied data collections
     suppliedSchoolInformationData = GetSuppliedSchoolInformation();
     
     //For Root
     suppliedRootMetricNode = GetSuppliedRootNode();
     suppliedRootMetricHierarchy = GetSuppliedRootMetricHierarchy();
     suppliedRootIEnumerableOfKeyValuePair = GetSuppliedRootKeyValuePairs();
     
     //For Operational Dashboard
     suppliedOperationalDashboardMetricNode = GetSuppliedOperationalDashboardMetricNode();
     suppliedOperationalDashboardMetricHierarchy = GetSuppliedOperationalDashboardMetricHierarchy();
     suppliedOperationalDashboardIEnumerableOfKeyValuePair = GetSuppliedOperationalDashboardKeyValuePairs();
 }