public void Validate_ShouldPass_WhenBlockSubjectCountMatched()
        {
            _loader.Stub(x => x.Sheet<BlockPlanSetting>())
                   .Return(this.GetFixture().Create<ISheetInfo<BlockPlanSetting>>());

            var blockPlanSetting = new BlockPlanSetting {BlockSubjectCount = 3};
            dynamic blockPlanSettingDyn = blockPlanSetting;
            blockPlanSettingDyn.ExtraProp1 = 1;
            blockPlanSettingDyn.ExtraProp2 = 2;

            _loader.Sheet<BlockPlanSetting>().Stub(x => x.Data).Return(new[] {blockPlanSetting});

            var result = _sut.Check(_loader, null);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.ShouldContinue);
            Assert.IsFalse(result.Messages.Any());
        }
 private bool TotalTierCountMismatched(BlockPlanSetting block)
 {
     var totalTierSubjectCount = block.GetExtraProperties().Values.OfType<int>().Sum();
     return totalTierSubjectCount != block.BlockSubjectCount;
 }