示例#1
0
        public RulesHolder()
        {
            ReportBuilder neverUsed = new ReportBuilder();

            //CleanupFlowthroughColumns.xml
            neverUsed.CleanupFlowThroughColumns();
            bool isNewGAAP  = neverUsed.IsNewGAAP;
            bool isGAAP2005 = neverUsed.IsGAAP2005;

            //CleanupFlowthroughReports.xml
            neverUsed.CleanupFlowThroughReports();
            isGAAP2005 = neverUsed.IsGAAP2005;

            //DisplayAsRatio.xml
            neverUsed.CurrentElementName += neverUsed.CurrentElementName;
            neverUsed.IsRatioElement     |= neverUsed.IsRatioElement;

            //DisplayZeroAsNone.xml
            neverUsed.CurrentElementName  += neverUsed.CurrentElementName;
            neverUsed.IsZeroAsNoneElement |= neverUsed.IsZeroAsNoneElement;

            //TotalLabel.xml
            string currentRowPreferredLabelRole = neverUsed.CurrentRowPreferredLabelRole;

            InstanceReport neverUsedReport = new InstanceReport();

            //ColumnHeaders.xml
            neverUsedReport.SetCalendarLabels(null, null);

            //CurrencySymbol.xml
            neverUsedReport.AssignCurrencySymbol();

            //EquityStatement.xml
            neverUsedReport.ProcessEquity(null, null, null);

            //InstantAndDuration.xml
            neverUsedReport.ProcessMergeInstanceDuration_Rule(null);

            //ProcessBeginningEndingBalances.xml
            neverUsedReport.ProcessBeginningAndEndingBalances();

            //PromoteSharedLabels.xml
            neverUsedReport.GetSegmentScenarioLabels();
            neverUsedReport.GetCurrencyLabels();
            neverUsedReport.GetSharedSegmentsAndScenariosLabel(null);
            neverUsedReport.GetSharedCurrencyLabel(null);
            neverUsedReport.ConcatenateSharedLabels(null, null);

            //Rounding.xml
            neverUsedReport.EvaluateRoundingLevels(null);
            neverUsedReport.SetRoundingOption(null, null, null, null, null, null, null, null);

            //Segments.xml
            neverUsedReport.ProcessSegments_Rule(null);
        }
示例#2
0
        public RulesHolder()
        {
            ReportBuilder neverUsed = new ReportBuilder();

            //CleanupFlowthroughColumns.xml
            neverUsed.CleanupFlowThroughColumns();
            bool isNewGAAP = neverUsed.IsNewGAAP;
            bool isGAAP2005 = neverUsed.IsGAAP2005;

            //CleanupFlowthroughReports.xml
            neverUsed.CleanupFlowThroughReports();
            isGAAP2005 = neverUsed.IsGAAP2005;

            //DisplayAsRatio.xml
            neverUsed.CurrentElementName += neverUsed.CurrentElementName;
            neverUsed.IsRatioElement |= neverUsed.IsRatioElement;

            //DisplayZeroAsNone.xml
            neverUsed.CurrentElementName += neverUsed.CurrentElementName;
            neverUsed.IsZeroAsNoneElement |= neverUsed.IsZeroAsNoneElement;

            //TotalLabel.xml
            string currentRowPreferredLabelRole = neverUsed.CurrentRowPreferredLabelRole;

            InstanceReport neverUsedReport = new InstanceReport();

            //ColumnHeaders.xml
            neverUsedReport.SetCalendarLabels( null, null );

            //CurrencySymbol.xml
            neverUsedReport.AssignCurrencySymbol();

            //EquityStatement.xml
            neverUsedReport.ProcessEquity(null, null, null);

            //InstantAndDuration.xml
            neverUsedReport.ProcessMergeInstanceDuration_Rule(null);

            //ProcessBeginningEndingBalances.xml
            neverUsedReport.ProcessBeginningAndEndingBalances();

            //PromoteSharedLabels.xml
            neverUsedReport.GetSegmentScenarioLabels();
            neverUsedReport.GetCurrencyLabels();
            neverUsedReport.GetSharedSegmentsAndScenariosLabel(null);
            neverUsedReport.GetSharedCurrencyLabel(null);
            neverUsedReport.ConcatenateSharedLabels(null, null);

            //Rounding.xml
            neverUsedReport.EvaluateRoundingLevels(null);
            neverUsedReport.SetRoundingOption(null, null, null, null, null, null, null, null);

            //Segments.xml
            neverUsedReport.ProcessSegments_Rule(null);
        }
示例#3
0
        public void TestRoundingOption()
        {
            InstanceReport instance = new InstanceReport();

            tmp cb = delegate()
            {
                instance.SetRoundingOption
                (
                    "In {level}",

                    "Shares",
                    "Shares in {level}",

                    "Share data",
                    "Share data in {level}",

                    "Per Share data",
                    "Per Share data",

                    "unless otherwise specified"
                );

                return instance.RoundingOption;
            };

            Type rlType = typeof( RoundingLevel );

            string matrixPath = Path.Combine( baseDir, "RoundingOptions.csv" );
            string[] lines = File.ReadAllLines( matrixPath );
            for( int i = 1; i < lines.Length; i++ )
            {
                string line = lines[ i ];
                string tmp = line.Replace( ",", string.Empty ).Trim();
                if( tmp.Length == 0 )
                    continue;

                string[] values = line.Split( ',' );
                instance.MonetaryRoundingLevel = (RoundingLevel)Enum.Parse( rlType, values[ 0 ] );
                instance.SharesRoundingLevel = (RoundingLevel)Enum.Parse( rlType, values[ 1 ] );
                instance.PerShareRoundingLevel = (RoundingLevel)Enum.Parse( rlType, values[ 2 ] );
                instance.HasCustomUnits = values[ 3 ] == "Y";

                string actual = cb();

                int use = values.Length - 4;
                string expected = string.Join( ",", values, 4, use );
                expected = expected.Trim( '"' );

                Assert.AreEqual( actual, expected );
            }
        }