From 6a1c61228422bce62cedbc00afcfe2a15b745370 Mon Sep 17 00:00:00 2001 From: Joshua Schulz Date: Wed, 15 Nov 2017 10:27:45 +0100 Subject: [PATCH 1/2] bug3484 calcStandardDev Test added --- .../sap/see/pairinglist/test/PairingListTemplateTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java b/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java index 5c6e7c59f1d..1abdf7eaad6 100644 --- a/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java +++ b/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java @@ -180,7 +180,12 @@ public class PairingListTemplateTest extends PairingListTemplateImpl{ {15,5,10,11,1,6}, {4,12,8,9,18,13} }; - System.out.println(calcStandardDev(getAssociationsFromPairingList(givenPairingList, new int[18][18]))); + Assert.assertEquals(0.5998846486579744, calcStandardDev(getAssociationsFromPairingList(givenPairingList, new int[18][18])), 0.0); + int[][] testPairingList = { + {1,2,3,4,5}, + {6,7,8,9,10} + }; + Assert.assertEquals(0.4967673,(calcStandardDev(getAssociationsFromPairingList(testPairingList, new int[10][10]))),0.01); } } From 497d021e125dcafac5ee58471a3ebbc2ebc5251a Mon Sep 17 00:00:00 2001 From: Joshua Schulz Date: Wed, 15 Nov 2017 10:55:59 +0100 Subject: [PATCH 2/2] bug3484 formatter in Testclass --- .../test/PairingListTemplateTest.java | 171 +++++++----------- .../impl/PairingListTemplateImpl.java | 9 +- 2 files changed, 68 insertions(+), 112 deletions(-) diff --git a/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java b/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java index 14ca0a9ced3..6e3f8b3fc1e 100644 --- a/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java +++ b/java/com.sap.sse.test/src/com/sap/see/pairinglist/test/PairingListTemplateTest.java @@ -1,69 +1,61 @@ package com.sap.see.pairinglist.test; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertArrayEquals; import org.junit.Test; - import com.sap.sse.pairinglist.impl.PairingListTemplateFactoryImpl; import com.sap.sse.pairinglist.impl.PairingListTemplateImpl; - import junit.framework.Assert; -public class PairingListTemplateTest extends PairingListTemplateImpl{ - +public class PairingListTemplateTest extends PairingListTemplateImpl { + PairingListTemplateFactoryImpl factory; + public PairingListTemplateTest() { super(new PairingFrameProviderTest(15, 3, 18)); } - PairingListTemplateFactoryImpl factory; - - @Test public void testArrayCopy() { - int[][] flightColumn={ - {1,2,3,4,5,6}, - {7,8,9,10,11,12}, - {13,14,15,16,17,18} - }; + int[][] flightColumn = { { 1, 2, 3, 4, 5, 6 }, { 7, 8, 9, 10, 11, 12 }, { 13, 14, 15, 16, 17, 18 } }; - int[][][] associationRow=new int[3][5][18]; - int[][] currentAssociations={ - {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - }; + int[][][] associationRow = new int[3][5][18]; + int[][] currentAssociations = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, }; - this.copyInto3rdDimension(18, currentAssociations, associationRow, flightColumn, 1,0); - assertArrayEquals(currentAssociations[0],associationRow[0][0]); - this.copyInto3rdDimension(18, currentAssociations, associationRow, flightColumn, 1,1); - assertArrayEquals(currentAssociations[6],associationRow[1][0]); + this.copyInto3rdDimension(18, currentAssociations, associationRow, flightColumn, 1, 0); + assertArrayEquals(currentAssociations[0], associationRow[0][0]); + this.copyInto3rdDimension(18, currentAssociations, associationRow, flightColumn, 1, 1); + assertArrayEquals(currentAssociations[6], associationRow[1][0]); } - @Test + @Test public void testTeamAssociationCreation() { final int flights = 15; final int groups = 3; final int competitors = 18; - + factory = new PairingListTemplateFactoryImpl(); - - int[][] plTemplate = factory.getOrCreatePairingListTemplate(new PairingFrameProviderTest(flights, groups, competitors)).getPairingListTemplate(); + + int[][] plTemplate = factory + .getOrCreatePairingListTemplate(new PairingFrameProviderTest(flights, groups, competitors)) + .getPairingListTemplate(); int[][] associations = new int[competitors][competitors]; this.getAssociationsFromPairingList(plTemplate, associations); @@ -73,7 +65,7 @@ public class PairingListTemplateTest extends PairingListTemplateImpl{ if ((x == y) && (associations[x][y] != -1)) { Assert.fail("The diagonal of association matrix has to be -1."); } - if(associations[x][y]>flights&&(associations[x][y]<-1)){ + if (associations[x][y] > flights && (associations[x][y] < -1)) { Assert.fail("Calculation of assosciation matrix failed!"); } } @@ -81,83 +73,48 @@ public class PairingListTemplateTest extends PairingListTemplateImpl{ } @Test - public void testAverageTimeForSingleCase(){ + public void testAverageTimeForSingleCase() { final int tests = 5; - long[] a=new long[tests]; - - for(int i = 0;i < tests; i++){ + long[] a = new long[tests]; + + for (int i = 0; i < tests; i++) { long time = System.currentTimeMillis(); - + this.createPairingListTemplate(15, 3, 18); - + time = System.currentTimeMillis() - time; a[i] = time; } - + long sum = 0; - for(int i = 0; i < tests; i++) sum += a[i]; - double average = sum/tests; + for (int i = 0; i < tests; i++) + sum += a[i]; + double average = sum / tests; if (average > 8000) { Assert.fail("The calculation of Pairing Lists took longer than expected!"); } } @Test - public void testStandardDevCalc(){ - int[][] givenPairingList={ - {18,15,17,14,16,8}, - {13,1,10,9,12,11}, - {3,5,2,4,6,7}, - {18,13,17,4,12,7}, - {11,15,16,6,1,5}, - {14,10,8,2,9,3}, - {15,18,11,2,13,3}, - {17,10,14,6,7,1}, - {8,4,16,5,9,12}, - {7,3,16,1,9,18}, - {12,15,10,17,5,2}, - {6,11,4,13,8,14}, - {16,11,4,17,3,10}, - {12,2,6,8,18,1}, - {7,13,5,15,14,9}, - {1,3,12,15,14,4}, - {9,17,6,16,13,2}, - {5,18,7,11,10,8}, - {16,2,7,11,14,12}, - {3,1,5,8,17,13}, - {6,9,4,10,15,18}, - {14,16,13,10,5,18}, - {11,2,1,9,4,17}, - {8,12,3,7,6,15}, - {10,13,8,7,16,15}, - {2,14,18,4,5,1}, - {6,17,9,12,11,3}, - {14,17,18,12,11,5}, - {15,16,13,1,4,2}, - {8,6,3,10,7,9}, - {16,6,12,18,2,10}, - {1,8,15,14,17,9}, - {5,7,13,3,4,11}, - {9,7,18,2,15,11}, - {13,3,14,1,12,10}, - {17,4,5,16,8,6}, - {17,4,12,15,10,7}, - {3,1,11,18,8,16}, - {2,9,6,5,13,14}, - {18,9,17,5,3,15}, - {12,7,1,13,16,6}, - {10,14,2,8,11,4}, - {7,14,2,17,3,16}, - {15,5,10,11,1,6}, - {4,12,8,9,18,13} - }; - Assert.assertEquals(0.5998846486579744, calcStandardDev(getAssociationsFromPairingList(givenPairingList, new int[18][18])), 0.0); - int[][] testPairingList = { - {1,2,3,4,5}, - {6,7,8,9,10} - }; - Assert.assertEquals(0.4967673,(calcStandardDev(getAssociationsFromPairingList(testPairingList, new int[10][10]))),0.01); - } + public void testStandardDevCalc() { + int[][] givenPairingList = { { 18, 15, 17, 14, 16, 8 }, { 13, 1, 10, 9, 12, 11 }, { 3, 5, 2, 4, 6, 7 }, + { 18, 13, 17, 4, 12, 7 }, { 11, 15, 16, 6, 1, 5 }, { 14, 10, 8, 2, 9, 3 }, { 15, 18, 11, 2, 13, 3 }, + { 17, 10, 14, 6, 7, 1 }, { 8, 4, 16, 5, 9, 12 }, { 7, 3, 16, 1, 9, 18 }, { 12, 15, 10, 17, 5, 2 }, + { 6, 11, 4, 13, 8, 14 }, { 16, 11, 4, 17, 3, 10 }, { 12, 2, 6, 8, 18, 1 }, { 7, 13, 5, 15, 14, 9 }, + { 1, 3, 12, 15, 14, 4 }, { 9, 17, 6, 16, 13, 2 }, { 5, 18, 7, 11, 10, 8 }, { 16, 2, 7, 11, 14, 12 }, + { 3, 1, 5, 8, 17, 13 }, { 6, 9, 4, 10, 15, 18 }, { 14, 16, 13, 10, 5, 18 }, { 11, 2, 1, 9, 4, 17 }, + { 8, 12, 3, 7, 6, 15 }, { 10, 13, 8, 7, 16, 15 }, { 2, 14, 18, 4, 5, 1 }, { 6, 17, 9, 12, 11, 3 }, + { 14, 17, 18, 12, 11, 5 }, { 15, 16, 13, 1, 4, 2 }, { 8, 6, 3, 10, 7, 9 }, { 16, 6, 12, 18, 2, 10 }, + { 1, 8, 15, 14, 17, 9 }, { 5, 7, 13, 3, 4, 11 }, { 9, 7, 18, 2, 15, 11 }, { 13, 3, 14, 1, 12, 10 }, + { 17, 4, 5, 16, 8, 6 }, { 17, 4, 12, 15, 10, 7 }, { 3, 1, 11, 18, 8, 16 }, { 2, 9, 6, 5, 13, 14 }, + { 18, 9, 17, 5, 3, 15 }, { 12, 7, 1, 13, 16, 6 }, { 10, 14, 2, 8, 11, 4 }, { 7, 14, 2, 17, 3, 16 }, + { 15, 5, 10, 11, 1, 6 }, { 4, 12, 8, 9, 18, 13 } }; + Assert.assertEquals(0.5998846486579744, + calcStandardDev(getAssociationsFromPairingList(givenPairingList, new int[18][18])), 0.0); + int[][] testPairingList = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 } }; + Assert.assertEquals(0.4967673, + (calcStandardDev(getAssociationsFromPairingList(testPairingList, new int[10][10]))), 0.01); + } } diff --git a/java/com.sap.sse/src/com/sap/sse/pairinglist/impl/PairingListTemplateImpl.java b/java/com.sap.sse/src/com/sap/sse/pairinglist/impl/PairingListTemplateImpl.java index e6023ab81c6..d90f10dea4d 100644 --- a/java/com.sap.sse/src/com/sap/sse/pairinglist/impl/PairingListTemplateImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/pairinglist/impl/PairingListTemplateImpl.java @@ -141,9 +141,9 @@ public class PairingListTemplateImpl implements PairingListTemplate{ private int[] generateSeeds(int flights, int competitors) { int[] seeds=new int[(int)(Math.log(iterations)/Math.log(flights)*0.5)]; for(int x=0;x