예제 #1
0
        public void TestAverageQRContent()
        {
            List <string> snapList = new List <string> {
                @".\Data\AADApplication1Snap.json", @".\Data\AADApplication2Snap.json"
            };
            List <string> snapResultsList = new List <string> {
                @".\Data\AAD2App3Snap4Results.json", @".\Data\AAD2App24Snap12Results.json"
            };
            ReportData reportData = TestUtility.PrepaPortfolioReportData(@".\Data\AADApplications.json", snapList, snapResultsList);

            DateTime date   = new DateTime(1970, 01, 01, 0, 0, 0, DateTimeKind.Utc);
            Snapshot _snap0 = reportData.Applications[0].Snapshots.FirstOrDefault();
            TimeSpan time0  = DateTime.Now - date;
            CastDate _date0 = new CastDate {
                Time = time0.TotalMilliseconds
            };

            Debug.Assert(_snap0 != null, "_snap0 != null");
            _snap0.Annotation.Date = _date0;

            Snapshot _snap1 = reportData.Applications[1].Snapshots.FirstOrDefault();
            TimeSpan time1  = DateTime.Now.AddMonths(-3) - date;
            CastDate _date1 = new CastDate {
                Time = time1.TotalMilliseconds
            };

            Debug.Assert(_snap1 != null, "_snap1 != null");
            _snap1.Annotation.Date = _date1;

            Snapshot[] _snapshots = new Snapshot[2];
            _snapshots[0]        = _snap0;
            _snapshots[1]        = _snap1;
            reportData.Snapshots = _snapshots;


            var component = new PortfolioCustomExpression();
            Dictionary <string, string> config = new Dictionary <string, string>
            {
                { "PARAMS", "QR a QR b" },
                { "EXPR", "(a+b)/2" },
                { "a", "60014" },
                { "b", "60017" }
            };
            var str = component.Content(reportData, config);

            Assert.AreEqual("1.99", str);

            Dictionary <string, string> config2 = new Dictionary <string, string>
            {
                { "PARAMS", "QR a QR b" },
                { "EXPR", "(a+b)/2" },
                { "a", "60014" },
                { "b", "60017" },
                { "AGGREGATOR", "AVERAGE" }
            };
            var str2 = component.Content(reportData, config2);

            Assert.AreEqual("1.99", str2);
        }
예제 #2
0
        public void TestBfContent()
        {
            List <string> snapList = new List <string> {
                @".\Data\AADApplication1Snap.json", @".\Data\AADApplication2Snap.json"
            };
            List <string> snapResultsList = new List <string> {
                @".\Data\AAD2App3Snap4Results.json", @".\Data\AAD2App24Snap12Results.json"
            };
            ReportData reportData = TestUtility.PrepaPortfolioReportData(@".\Data\AADApplications.json", snapList, snapResultsList);

            DateTime date   = new DateTime(1970, 01, 01, 0, 0, 0, DateTimeKind.Utc);
            Snapshot _snap0 = reportData.Applications[0].Snapshots.FirstOrDefault();
            TimeSpan time0  = DateTime.Now - date;
            CastDate _date0 = new CastDate {
                Time = time0.TotalMilliseconds
            };

            Debug.Assert(_snap0 != null, "_snap0 != null");
            _snap0.Annotation.Date = _date0;

            Snapshot _snap1 = reportData.Applications[1].Snapshots.FirstOrDefault();
            TimeSpan time1  = DateTime.Now.AddMonths(-3) - date;
            CastDate _date1 = new CastDate {
                Time = time1.TotalMilliseconds
            };

            Debug.Assert(_snap1 != null, "_snap1 != null");
            _snap1.Annotation.Date = _date1;

            Snapshot[] _snapshots = new Snapshot[2];
            _snapshots[0]        = _snap0;
            _snapshots[1]        = _snap1;
            reportData.Snapshots = _snapshots;


            WSConnection connection = new WSConnection()
            {
                Url      = "http://tests/CAST-RESTAPI/rest/",
                Login    = "******",
                Password = "******",
                IsActive = true,
                Name     = "Default"
            };

            reportData.SnapshotExplorer = new SnapshotBLLStub(connection, reportData.CurrentSnapshot);

            var component = new PortfolioCustomExpression();
            Dictionary <string, string> config = new Dictionary <string, string>
            {
                { "PARAMS", "BF a SZ b" },
                { "EXPR", "b/a" },
                { "a", "66061" },
                { "b", "10151" },
                { "FORMAT", "N0" }
            };
            var str = component.Content(reportData, config);

            Assert.AreEqual("77,335", str);
        }