@Test /** * Tests that a matrix constructed by adding currencies one by one or by merging by blocks returns * the same result. */ public void merge2() { final FXMatrix fxMatrix1 = new FXMatrix(); fxMatrix1.addCurrency(EUR, USD, EUR_USD); fxMatrix1.addCurrency(KRW, USD, 1.0 / USD_KRW); final FXMatrix fxMatrix2 = new FXMatrix(); fxMatrix2.addCurrency(EUR, USD, EUR_USD); fxMatrix2.addCurrency(GBP, EUR, GBP_EUR); final FXMatrix fxMatrixMergeExpected = new FXMatrix(); fxMatrixMergeExpected.addCurrency(EUR, USD, EUR_USD); fxMatrixMergeExpected.addCurrency(GBP, EUR, GBP_EUR); fxMatrixMergeExpected.addCurrency(KRW, USD, 1.0 / USD_KRW); final FXMatrix merged = FXMatrixUtils.merge(fxMatrix1, fxMatrix2); assertEquals( "FXMatrixUtils - merge", merged.getFxRate(USD, EUR), fxMatrixMergeExpected.getFxRate(USD, EUR), TOLERANCE_RATE); assertEquals( "FXMatrixUtils - merge", merged.getFxRate(USD, GBP), fxMatrixMergeExpected.getFxRate(USD, GBP), TOLERANCE_RATE); assertEquals( "FXMatrixUtils - merge", merged.getFxRate(USD, KRW), fxMatrixMergeExpected.getFxRate(USD, KRW), TOLERANCE_RATE); }
@Test /** * Tests that a matrix constructed by adding currencies one by one or by merging by blocks returns * the same result. */ public void merge1() { final FXMatrix fxMatrixEURUSD = new FXMatrix(); fxMatrixEURUSD.addCurrency(EUR, USD, EUR_USD); // assertTrue("FXMatrixUtils - merge", FXMatrixUtils.compare(fxMatrixEURUSD, // FXMatrixUtils.merge(fxMatrixEURUSD, new FXMatrix()), TOLERANCE_RATE)); // assertTrue("FXMatrixUtils - merge", FXMatrixUtils.compare(fxMatrixEURUSD, // FXMatrixUtils.merge(new FXMatrix(), fxMatrixEURUSD), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrixEURUSD, FXMatrixUtils.merge(fxMatrixEURUSD, new FXMatrix(USD)), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrixEURUSD, FXMatrixUtils.merge(fxMatrixEURUSD, new FXMatrix(EUR)), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrixEURUSD, FXMatrixUtils.merge(new FXMatrix(USD), fxMatrixEURUSD), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrixEURUSD, FXMatrixUtils.merge(new FXMatrix(EUR), fxMatrixEURUSD), TOLERANCE_RATE)); final FXMatrix fxMatrixGBPEUR = new FXMatrix(); fxMatrixGBPEUR.addCurrency(GBP, EUR, GBP_EUR); final FXMatrix fxMatrixEURUSDGBP = new FXMatrix(); fxMatrixEURUSDGBP.addCurrency(EUR, USD, EUR_USD); fxMatrixEURUSDGBP.addCurrency(GBP, EUR, GBP_EUR); final FXMatrix merged = FXMatrixUtils.merge(fxMatrixEURUSD, fxMatrixGBPEUR); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare(merged, fxMatrixEURUSDGBP, TOLERANCE_RATE)); }
@Test /** Tests that a matrix merged with itself is equal with itself. */ public void mergeWithItself() { final FXMatrix fxMatrix = new FXMatrix(); fxMatrix.addCurrency(EUR, USD, EUR_USD); fxMatrix.addCurrency(GBP, EUR, GBP_EUR); final FXMatrix merged = FXMatrixUtils.merge(fxMatrix, fxMatrix); assertEquals("FXMatrixUtils - merge", fxMatrix, merged); }
@Test /** Tests the merge with an empty matrix. */ public void merge3() { final FXMatrix fxMatrix1 = new FXMatrix(); fxMatrix1.addCurrency(EUR, USD, EUR_USD); fxMatrix1.addCurrency(KRW, USD, 1.0 / USD_KRW); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrix1, FXMatrixUtils.merge(fxMatrix1, new FXMatrix()), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrix1, FXMatrixUtils.merge(new FXMatrix(), fxMatrix1), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( fxMatrix1, FXMatrixUtils.merge(new FXMatrix(USD), fxMatrix1), TOLERANCE_RATE)); assertTrue( "FXMatrixUtils - merge", FXMatrixUtils.compare( new FXMatrix(), FXMatrixUtils.merge(new FXMatrix(), new FXMatrix()), TOLERANCE_RATE)); }