Bug 283215 testSashWeights in I20090710-1930
There was a failure in tonight's M5 candidate. Is this a problem, or is the test no longer valid. Child count mismatch; expected: 2actual: 3 junit.framework.AssertionFailedError: Child count mismatch; expected: 2actual: 3 at org.eclipse.e4.ui.tests.workbench.RenderingTestCase.checkResults(RenderingTestCase.java:202) at org.eclipse.e4.ui.tests.workbench.RenderingTestCase.checkResults(RenderingTestCase.java:209) at org.eclipse.e4.ui.tests.workbench.RenderingTestCase$2.run(RenderingTestCase.java:178) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.tests.workbench.RenderingTestCase.createModel(RenderingTestCase.java:163) at org.eclipse.e4.ui.tests.workbench.MSashTest.testSashWeights(MSashTest.java:54) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:354) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:206) at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:35) at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:31) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) at org.eclipse.core.launcher.Main.main(Main.java:34)
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/MSashTest.java
}
	private void checkRatio(String label, int num, int div, double baseRatio) {
		double ratio = (double) num / (double) div;
		System.out.println(label + " Ratio: " + num + " / " + div + " = "
				+ ratio);
		double TOLERANCE = 0.1;
		boolean withinTolerance = Math.abs(ratio - baseRatio) < TOLERANCE;
		assertTrue("Ratio mismatch on" + label + "weights", withinTolerance);
	}
	private MWindow<MPart<?>> createSashWithNViews(int n) {
		final MWindow<MPart<?>> window = ApplicationFactory.eINSTANCE
				.createMWindow();
		window.setHeight(300);
		window.setWidth(401);
		window.setName("MyWindow");
		MSashForm<MPart<?>> sash = ApplicationFactory.eINSTANCE
				.createMSashForm();
		window.getChildren().add(sash);
		for (int i = 0; i < n; i++) {
			MContributedPart<MPart<?>> contributedPart = ApplicationFactory.eINSTANCE
					.createMContributedPart();
			contributedPart.setName("Sample View" + i);
			contributedPart
					.setURI("platform:/plugin/org.eclipse.e4.ui.tests/org.eclipse.e4.ui.tests.workbench.SampleView");
			sash.getChildren().add(contributedPart);
		}
		return window;
	}
}