public void BuildShouldApplyPercentageMarginForNumberOfPupils()
        {
            dynamic model = new ExpandoObject();

            model.NumberOfPupils = 100;

            var financeDoc = new Microsoft.Azure.Documents.Document();

            financeDoc.SetPropertyValue("No Pupils", 100d);
            financeDoc.SetPropertyValue("Overall Phase", "Secondary");
            financeDoc.SetPropertyValue("UrbanRuralInner", "Urban and city");
            financeDoc.SetPropertyValue("% of pupils eligible for FSM", 100);
            financeDoc.SetPropertyValue("% of pupils with SEN Statement", 100);
            financeDoc.SetPropertyValue("% of pupils with EAL", 100);
            financeDoc.SetPropertyValue("LA", 831);

            var benchmarkSchool = new SchoolViewModel(model);

            benchmarkSchool.HistoricalSchoolFinancialDataModels = new List <SchoolFinancialDataModel>();
            benchmarkSchool.HistoricalSchoolFinancialDataModels.Add(new SchoolFinancialDataModel("123", "2014-2015", financeDoc, SchoolFinancialType.Maintained));

            var builder = new BenchmarkCriteriaBuilderService();

            var criteria = builder.BuildFromSimpleComparisonCriteria(benchmarkSchool.HistoricalSchoolFinancialDataModels.Last(), true, true, true, true, 5);

            Assert.AreEqual(financeDoc.GetPropertyValue <double>("No Pupils") * 0.85, criteria.MinNoPupil);
            Assert.AreEqual(financeDoc.GetPropertyValue <double>("No Pupils") * 1.15, criteria.MaxNoPupil);
        }
        public void BuildShouldNotApplyOptionalCriteriaIfNotIncluded()
        {
            dynamic model = new ExpandoObject();

            model.NumberOfPupils = 100;

            var financeDoc = new Microsoft.Azure.Documents.Document();

            financeDoc.SetPropertyValue("No Pupils", 100d);
            financeDoc.SetPropertyValue("Overall Phase", "Secondary");
            financeDoc.SetPropertyValue("UrbanRuralInner", "Urban and city");
            financeDoc.SetPropertyValue("% of pupils eligible for FSM", 100);
            financeDoc.SetPropertyValue("% of pupils with SEN Statement", 100);
            financeDoc.SetPropertyValue("% of pupils with EAL", 100);
            financeDoc.SetPropertyValue("LA", 831);

            var benchmarkSchool = new SchoolViewModel(model);

            benchmarkSchool.HistoricalSchoolFinancialDataModels = new List <SchoolFinancialDataModel>();
            benchmarkSchool.HistoricalSchoolFinancialDataModels.Add(new SchoolFinancialDataModel("123", "2014-2015", financeDoc, SchoolFinancialType.Maintained));

            var builder = new BenchmarkCriteriaBuilderService();

            var criteria = builder.BuildFromSimpleComparisonCriteria(benchmarkSchool.HistoricalSchoolFinancialDataModels.Last(), false, false, false, false, 10);

            Assert.AreEqual(null, criteria.MinPerFSM);
            Assert.AreEqual(null, criteria.MaxPerFSM);
            Assert.AreEqual(null, criteria.MinPerSEN);
            Assert.AreEqual(null, criteria.MaxPerSEN);
            Assert.AreEqual(null, criteria.MinPerEAL);
            Assert.AreEqual(null, criteria.MaxPerEAL);
            Assert.AreEqual(null, criteria.LocalAuthorityCode);
        }