public void GetInfoTwoSwaps()
        {
            string          valReportId1     = Guid.NewGuid().ToString();
            ValuationReport valuationReport1 = CreateSwapValuationReport(valReportId1);
            string          valReportId2     = Guid.NewGuid().ToString();
            ValuationReport valuationReport2 = CreateSwapValuationReport(valReportId2);

            Engine.Cache.SaveObject(valuationReport1, Engine.NameSpace + "." + valReportId1, null);
            Engine.Cache.SaveObject(valuationReport2, Engine.NameSpace + "." + valReportId2, null);
            var    excelValuation = new Valuation();
            string mergedReportId = excelValuation.Merge(Engine.Cache, Engine.NameSpace, valReportId1, valReportId2, null, null, null, null, null, null, null, null);
            //var valuation = Engine.Cache.LoadObject<ValuationReport>(mergedReportId);
            List <ValuationInfoRangeItem> valuationInfoRangeItems = excelValuation.GetInfo(Engine.Cache, Engine.NameSpace, mergedReportId);

            object[,] range = ObjectToArrayOfPropertiesConverter.ConvertListToHorizontalArrayRange(valuationInfoRangeItems);
            Debug.Print("GetInfo (two swaps)");
            Debug.Print(ParameterFormatter.FormatObject(range));
            Assert.AreEqual(3, valuationInfoRangeItems.Count);
            Assert.AreEqual(mergedReportId, valuationInfoRangeItems[0].Id);
            Assert.AreEqual("envelope", valuationInfoRangeItems[0].Description);
            Assert.AreEqual(valReportId1, valuationInfoRangeItems[1].Id);
            Assert.AreEqual("swap(fixed/float)", valuationInfoRangeItems[1].Description);
            Assert.AreEqual(valReportId2, valuationInfoRangeItems[2].Id);
            Assert.AreEqual("swap(fixed/float)", valuationInfoRangeItems[2].Description);
        }
示例#2
0
        public void FormatExceptionWithInnerExceptinWithData()
        {
            try
            {
                try
                {
                    NotImplementedException ex = new NotImplementedException("Test string");

                    ex.Data.Add("Key1", "Value1");
                    ex.Data.Add("Key2", null);
                    ex.Data.Add("Key3", 3);

                    throw ex;
                }
                catch (Exception ex)
                {
                    throw new Exception("Excetion1", ex);
                }
            }
            catch (Exception ex)
            {
                string formatted = ParameterFormatter.FormatObject(ex);
                Debug.WriteLine(formatted);
            }
        }
示例#3
0
        public void FormatString()
        {
            string s = "Test string";

            string formatted = ParameterFormatter.FormatObject(s);

            Debug.WriteLine(formatted);
        }
示例#4
0
        public void FormatOneDimensionalArrayOfStrings()
        {
            string[] array = new string[] { "One", "Two", "Three" };

            string formatted = ParameterFormatter.FormatObject(array);

            Debug.WriteLine(formatted);
        }
示例#5
0
        public void FormatBool()
        {
            bool b = true;

            string formatted = ParameterFormatter.FormatObject(b);

            Debug.WriteLine(formatted);
        }
示例#6
0
        public void FormatDecimal()
        {
            decimal d = 24.56m;

            string formatted = ParameterFormatter.FormatObject(d);

            Debug.WriteLine(formatted);
        }
示例#7
0
        public void FormatDouble()
        {
            double d = 24.5;

            string formatted = ParameterFormatter.FormatObject(d);

            Debug.WriteLine(formatted);
        }
示例#8
0
        public void FormatNull()
        {
            object n = null;

            string formatted = ParameterFormatter.FormatObject(n);

            Debug.WriteLine(formatted);
        }
示例#9
0
        public void FormatOneDimensionalArrayOfInts()
        {
            int[] array = new int[] { 12, 34, 56 };

            string formatted = ParameterFormatter.FormatObject(array);

            Debug.WriteLine(formatted);
        }
示例#10
0
        public void FormatInteger()
        {
            int i = 24;


            string formatted = ParameterFormatter.FormatObject(i);

            Debug.WriteLine(formatted);
        }
示例#11
0
文件: Clause.cs 项目: sbeparey/Jaunty
        public override string ToString()
        {
            var column    = Column.Replace("#", ".", StringComparison.OrdinalIgnoreCase);
            var parameter = SqlDialect == Dialect.Postgres ? column : Column.Replace(".", "__", StringComparison.OrdinalIgnoreCase);

            column    = column.Replace("$", "", StringComparison.OrdinalIgnoreCase);
            column    = ColumnNameFormatter?.Invoke(column) ?? column;
            parameter = ParameterFormatter?.Invoke(parameter) ?? $"@{parameter}";
            return(Separator == Separator.Empty ? $"{column} {Oper.ToSqlString()} {parameter}"
                                : $"{column} {Oper.ToSqlString()} {parameter} {Separator.ToSqlString()}");
        }
示例#12
0
 public void FormatException()
 {
     try
     {
         throw new NotImplementedException("Test string");
     }
     catch (Exception ex)
     {
         string formatted = ParameterFormatter.FormatObject(ex);
         Debug.WriteLine(formatted);
     }
 }
示例#13
0
        public void FormatTwoDimensionalArrayOfStrings()
        {
            string[,] array = new string[, ]
            {
                { "One1", "Two1", "Three1" },
                { "One2", "Two2", "Three2" },
                { "One3", "Two3", "Three3" }
            };

            string formatted = ParameterFormatter.FormatObject(array);

            Debug.WriteLine(formatted);
        }
示例#14
0
        public void ShouldInjectParameterValues()
        {
            var sut = new ParameterFormatter();

            var values = new Dictionary <string, byte[]>
            {
                { "P1", "val1".ToUtf8EncodedBytes() },
                { "P2", "val2".ToUtf8EncodedBytes() },
            };

            var result = sut.Format("pre $P1 $P2 $$P1 post", values);

            Assert.That(result, Is.EqualTo("pre val1 val2 $P1 post"));
        }
示例#15
0
        public void FormatTwoDimensionalArrayOfInts()
        {
            int[,] array = new int[, ]
            {
                { 112, 134, 156 },
                { 212, 234, 256 },
                { 312, 334, 356 },
                { 412, 434, 456 },
                { 512, 534, 556 }
            };

            string formatted = ParameterFormatter.FormatObject(array);

            Debug.WriteLine(formatted);
        }
示例#16
0
        public void FormatTwoDimensionalArrayOfIntsStringsDecimalsDoublesBools()
        {
            object[,] array = new object[, ]
            {
                { 112, "some", 156 },
                { 212.0d, 234, 256 },
                { null, 334, false },
                { 312, 34.12m, false },
                { 412, "another", 456, },
                { 512, 534, 556 }
            };

            string formatted = ParameterFormatter.FormatObject(array);

            Debug.WriteLine(formatted);
        }
示例#17
0
        private static void TestFormatter(object value, FormattingMode mode, string expectedOutput, IFormatProvider formatProvider = null, ICustomValueFormatter customValueFormatter = null)
        {
            // Arrange
            IFormattingModeReader reader = Substitute.For <IFormattingModeReader>();

            reader.ReadMode(TestParameter).Returns(mode);

            IParameterFormatter formatter = new ParameterFormatter(reader, formatProvider ?? CultureInfo.InvariantCulture, customValueFormatter);

            StringBuilder sb = new StringBuilder();

            // Act
            formatter.Serialize(sb, value, TestParameter);

            // Assert
            Assert.AreEqual(expectedOutput, sb.ToString());
        }
示例#18
0
        public void TestUrlFormatter()
        {
            var formatter = new ParameterFormatter();

            Assert.AreEqual("auto", formatter.Format(Unit.Auto, null, typeof(Unit)));
            Assert.AreEqual("uk2", formatter.Format(Unit.Uk2, null, typeof(Unit)));
            Assert.AreEqual("us", formatter.Format(Unit.Us, null, typeof(Unit)));
            Assert.AreEqual("AUD", formatter.Format(CurrencyCode.Aud, null, typeof(CurrencyCode)));
            Assert.AreEqual("ar", formatter.Format(Language.Ar, null, typeof(Language)));
            Assert.AreEqual("x-pig-latin", formatter.Format(Language.XPigLatin, null, typeof(Language)));
            Assert.AreEqual("zh-tw", formatter.Format(Language.ZhTw, null, typeof(Language)));
            Assert.AreEqual("original", formatter.Format(IconPack.Original, null, typeof(IconPack)));
            Assert.AreEqual("currently", formatter.Format(ReportType.Currently, null, typeof(ReportType)));
            Assert.AreEqual("hourly", formatter.Format(ReportType.Hourly, null, typeof(ReportType)));
            Assert.AreEqual("all", formatter.Format(Span.All, null, typeof(Span)));
            Assert.AreEqual("month", formatter.Format(Span.Month, null, typeof(Span)));
            Assert.AreEqual("year", formatter.Format(Span.Year, null, typeof(Span)));
        }
        public void GetDetailedCapFloorCashflowsVanilla()
        {
            DateTime valuationDate    = DateTime.Today;
            var      irCapFloorPricer = new CapFloorPricer();
            var      curveId          = BuildAndCacheRateCurve(valuationDate);

            foreach (CapFloorType legType in new[] { CapFloorType.Cap, CapFloorType.Floor })
            {
                Debug.Print("LegType: {0}", legType);
                CapFloorLegParametersRange_Old capLeg = GetCapFloorInputParameters(valuationDate, valuationDate.AddMonths(6), valuationDate.AddYears(5),
                                                                                   legType, "Standard", curveId, curveId);

                ValuationRange valuationRange                 = CreateValuationRange(valuationDate);
                List <DateTimeDoubleRangeItem>   notional     = GetAmortNotional(capLeg, 3);
                List <DetailedCashflowRangeItem> cashflowList =
                    irCapFloorPricer.GetDetailedCashflowsWithNotionalSchedule(Engine.Logger, Engine.Cache, Engine.NameSpace, null, null, capLeg, notional, valuationRange);
                object[,] arrayOfCashflows = ObjectToArrayOfPropertiesConverter.ConvertListToHorizontalArrayRange(cashflowList);
                Debug.WriteLine("Cashflows:");
                Debug.WriteLine(ParameterFormatter.FormatObject(arrayOfCashflows));
            }
        }
示例#20
0
 protected override void Context()
 {
     base.Context();
     sut = new ParameterFormatter(_parameterDTO, checkForEditable: false);
 }
示例#21
0
 public void Constructor_WithNullFormatProvider_ThrowsArgumentNullException()
 {
     // ReSharper disable once UnusedVariable
     IParameterFormatter formatter = new ParameterFormatter(Substitute.For <IFormattingModeReader>(), null);
 }
示例#22
0
        public void Serialize_WithNullParameterInfo_ThrowsArgumentNullException()
        {
            IParameterFormatter formatter = new ParameterFormatter(Substitute.For <IFormattingModeReader>(), CultureInfo.InvariantCulture);

            formatter.Serialize(new StringBuilder(), new object(), (ParameterInfo)null);
        }
示例#23
0
 public void Constructor_WithNullRegistry_ThrowsArgumentNullException()
 {
     // ReSharper disable once UnusedVariable
     IParameterFormatter formatter = new ParameterFormatter(null, CultureInfo.InvariantCulture);
 }