Assembla home | Assembla project page
 

Changeset 176

Show
Ignore:
Timestamp:
05/22/08 13:54:49 (5 months ago)
Author:
snovik
Message:

Changed: Changed logic of InitializedList?: in case of InitiatizedList?<Class>, all elements are initialized with default constructor of Class rather than null values

New: Test Stats
Fix: Some small change/fix for termStructure tests.

All exising tests passed successfully

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/QLNet/QLNet.vsmdi

    r173 r176  
    55      <TestLink id="bbe2d937-bb70-a666-a879-b3063800a42e" name="testFairSpread" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    66      <TestLink id="25b4118b-8066-f12f-3687-a5ef1886eb1c" name="testInArrears" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     7      <TestLink id="27ded393-6046-4057-bd65-31f629c9bf55" name="testFairRate" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    78      <TestLink id="0ee842b0-6275-252f-a1d0-000b0a6a4c52" name="testCachedValue" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    8       <TestLink id="27ded393-6046-4057-bd65-31f629c9bf55" name="testFairRate" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    99      <TestLink id="3b1816a9-7785-f64f-bc52-7014af11e8e5" name="testSpreadDependency" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    1010      <TestLink id="2b04fe68-610a-b2de-e241-ef9a50fdb3fb" name="testRateDependency" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     
    4444  <TestList name="Risk Stats" id="a33eb53e-6299-480c-8958-5bcb922a4801" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6"> 
    4545    <TestLinks> 
     46      <TestLink id="11324f58-d1f7-1a21-db46-c3d581145bab" name="testConvergenceStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     47      <TestLink id="93cb521c-14c8-79d4-fc16-8d0be3bee8d6" name="testStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    4648      <TestLink id="b87fb037-4727-72de-6cc9-162a99e11210" name="RiskStatisticsTest" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     49      <TestLink id="0bf290f2-0fd1-7595-f676-c9b86311a965" name="testSequenceStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    4750    </TestLinks> 
    4851  </TestList> 
     
    5457  <TestList name="American Option" id="da9a808d-acf7-4baf-9dfb-e4b091d30fef" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6"> 
    5558    <TestLinks> 
    56       <TestLink id="2bbf531b-68cb-84c0-a06f-6bedfb89f20f" name="testBaroneAdesiWhaleyValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     59      <TestLink id="33c4d801-48ac-44c4-329e-d6fe84f5e034" name="testJuValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    5760      <TestLink id="3be50179-04ee-902d-73d8-3c94e9305a67" name="testFdShoutGreeks" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    5861      <TestLink id="783f96db-cce8-bf61-b280-f5010f7d7eb3" name="testFdValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    5962      <TestLink id="1e42c90a-8e82-1369-9ed9-52b036b1c07e" name="testBjerksundStenslandValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    6063      <TestLink id="9f4ff6f8-9938-8ecb-5608-7dbc928cbda3" name="testFdAmericanGreeks" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    61       <TestLink id="33c4d801-48ac-44c4-329e-d6fe84f5e034" name="testJuValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     64      <TestLink id="2bbf531b-68cb-84c0-a06f-6bedfb89f20f" name="testBaroneAdesiWhaleyValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    6265    </TestLinks> 
    6366  </TestList> 
     
    7679    <TestLinks> 
    7780      <TestLink id="905e7e83-ac17-d164-7c00-332aee943ebf" name="testBrazilianCached" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    78       <TestLink id="6dedd105-7532-140b-2b82-37bc69a8d72c" name="testCachedFixed" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     81      <TestLink id="af486b6a-ffe8-d458-89c3-9fcd3f6ec404" name="testYield" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    7982      <TestLink id="a7feffcc-db48-6ab4-df10-00a5494c44ea" name="testTheoretical" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    8083      <TestLink id="2e159c46-764f-ad21-7b0f-676f2bfdc323" name="testCachedFloating" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    8184      <TestLink id="ab3ac37e-d457-63de-2204-c9a25f55fec9" name="testCached" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
     85      <TestLink id="6dedd105-7532-140b-2b82-37bc69a8d72c" name="testCachedFixed" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    8286      <TestLink id="d7571d29-ddb9-5b86-6135-2acbcc05515d" name="testCachedZero" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    83       <TestLink id="af486b6a-ffe8-d458-89c3-9fcd3f6ec404" name="testYield" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel,   PublicKeyToken=b03f5f7f11d50a3a" /> 
    8487    </TestLinks> 
    8588  </TestList> 
  • trunk/QLNet/QLNet/Utils.cs

    r110 r176  
    5252 
    5353    // this is a redefined collection class to emulate array-type behaviour at initialisation 
    54     public class InitializedList<T> : List<T> { 
     54    // if T is a class then the list is initilized with default constructors instead of null 
     55    public class InitializedList<T> : List<T> where T : new() { 
    5556        public InitializedList() : base() { } 
    56         public InitializedList(int size) : this(size, default(T)) { } 
    57         public InitializedList(int size, T value) 
    58             : base(size) { 
     57        public InitializedList(int size) : base(size) { 
     58            for (int i = 0; i < this.Capacity; i++) 
     59                this.Add(default(T) == null ? new T() : default(T)); 
     60        } 
     61        public InitializedList(int size, T value) : base(size) { 
    5962            for (int i = 0; i < this.Capacity; i++) 
    6063                this.Add(value); 
     
    6467        public void Erase() { 
    6568            for (int i = 0; i < this.Count; i++) 
    66                 this[i] = default(T); 
     69                this[i] = default(T);       // do we need to use "new T()" instead of default(T) when T is class? 
    6770        } 
    6871    } 
  • trunk/QLNet/Test2008/T_Stats.cs

    r175 r176  
    3131        double[] weights = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }; 
    3232 
     33        [TestMethod()] 
     34        public void testStatistics() { 
     35            check<IncrementalStatistics>("IncrementalStatistics"); 
     36            check<RiskStatistics>("Statistics"); 
     37        } 
     38 
     39        [TestMethod()] 
     40        public void testSequenceStatistics() { 
     41            //("Testing sequence statistics..."); 
     42 
     43            checkSequence<IncrementalStatistics>("IncrementalStatistics", 5); 
     44            checkSequence<RiskStatistics>("Statistics", 5); 
     45        } 
     46 
     47        [TestMethod()] 
     48        public void testConvergenceStatistics() { 
     49 
     50            //("Testing convergence statistics..."); 
     51 
     52            checkConvergence<IncrementalStatistics>("IncrementalStatistics"); 
     53            checkConvergence<RiskStatistics>("Statistics"); 
     54        } 
     55 
    3356        void check<S>(string name) where S : IGeneralStatistics, new() { 
    3457            S s = new S(); 
     
    270293                           + "\n    expected:   " + expectedSampleSize2); 
    271294        } 
    272  
    273  
    274         //[TestMethod()] 
    275295    } 
    276296} 
  • trunk/QLNet/Test2008/T_TermStructures.cs

    r128 r176  
    5454                    swaps = swapData.Length; 
    5555 
    56                 List<BootstrapHelper<YieldTermStructure>> instruments = new InitializedList<BootstrapHelper<YieldTermStructure>>(deposits+swaps); 
     56                var instruments = new List<BootstrapHelper<YieldTermStructure>>(deposits+swaps); 
    5757                for (int i=0; i<deposits; i++) { 
    58                     instruments[i] = new DepositRateHelper(depositData[i].rate/100, new Period(depositData[i].n, depositData[i].units), 
    59                                           settlementDays, calendar, BusinessDayConvention.ModifiedFollowing, true, new Actual360()); 
     58                    instruments.Add(new DepositRateHelper(depositData[i].rate/100, new Period(depositData[i].n, depositData[i].units), 
     59                                    settlementDays, calendar, BusinessDayConvention.ModifiedFollowing, true, new Actual360())); 
    6060                } 
    6161                 
     
    6363                                                calendar, BusinessDayConvention.ModifiedFollowing, false, new Actual360()); 
    6464                for (int i=0; i<swaps; ++i) { 
    65                     instruments[i+deposits] = new SwapRateHelper(swapData[i].rate/100, new Period(swapData[i].n, swapData[i].units), 
    66                                             calendar, Frequency.Annual, BusinessDayConvention.Unadjusted, new Thirty360(), index); 
     65                    instruments.Add(new SwapRateHelper(swapData[i].rate/100, new Period(swapData[i].n, swapData[i].units), 
     66                                    calendar, Frequency.Annual, BusinessDayConvention.Unadjusted, new Thirty360(), index)); 
    6767                } 
    6868                termStructure = new PiecewiseYieldCurve<Discount,LogLinear>(settlement, instruments, new Actual360());