/* * Copyright 2009 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.eclipse.javascript.jstestdriver.core.model; import java.util.Iterator; import junit.framework.TestCase; import com.google.eclipse.javascript.jstestdriver.core.model.EclipseJstdBrowserRunResult; import com.google.eclipse.javascript.jstestdriver.core.model.EclipseJstdTestCaseResult; import com.google.eclipse.javascript.jstestdriver.core.model.ResultModel; import com.google.jstestdriver.TestResult; /** * @author shyamseshadri@gmail.com (Shyam Seshadri) */ public class ResultModelTest extends TestCase { TestResult passing1 = new TestResult(null, "passed", "", "", "testcase1", "test1", 1f); TestResult passing2 = new TestResult(null, "passed", "", "", "testcase", "test2", 2f); TestResult failed1 = new TestResult(null, "failed", "", "", "testcase1", "test3", 3f); TestResult failed2 = new TestResult(null, "failed", "", "", "testcase", "test4", 4f); TestResult failed3 = new TestResult(null, "failed", "", "", "testcase", "test5", 5f); TestResult error1 = new TestResult(null, "error", "", "", "testcase1", "test6", 6f); TestResult error2 = new TestResult(null, "error", "", "", "testcase", "test7", 7f); public void testDidPass() throws Exception { ResultModel model = new EclipseJstdTestCaseResult(null, "testcase"); assertTrue(model.passed()); model.addTestResult(passing1); assertTrue(model.passed()); model.addTestResult(passing2); assertTrue(model.passed()); model.addTestResult(failed1); assertFalse(model.passed()); model.addTestResult(failed2); assertFalse(model.passed()); } public void testHasChildren() throws Exception { ResultModel model = new EclipseJstdTestCaseResult(null, "testcase"); assertFalse(model.hasChildren()); model.addTestResult(passing1); assertTrue(model.hasChildren()); model.addTestResult(failed1); assertTrue(model.hasChildren()); } public void testGetNumbers() throws Exception { ResultModel model = new EclipseJstdBrowserRunResult(null, "browser"); assertEquals(0, model.getNumberOfTests()); assertEquals(0, model.getNumberOfFailures()); assertEquals(0, model.getNumberOfErrors()); model.addTestResult(passing1); model.addTestResult(failed1); model.addTestResult(error1); assertEquals(3, model.getNumberOfTests()); assertEquals(1, model.getNumberOfFailures()); assertEquals(1, model.getNumberOfErrors()); model.addTestResult(passing2); model.addTestResult(failed2); model.addTestResult(failed3); model.addTestResult(error2); assertEquals(7, model.getNumberOfTests()); assertEquals(3, model.getNumberOfFailures()); assertEquals(2, model.getNumberOfErrors()); } public void testAddTestResultTestCase() throws Exception { ResultModel model = new EclipseJstdBrowserRunResult(null, "browser"); model.addTestResult(passing1); model.addTestResult(failed1); model.addTestResult(error1); model.addTestResult(passing2); model.addTestResult(failed2); model.addTestResult(failed3); model.addTestResult(error2); assertEquals(2, model.getChildren().size()); Iterator<? extends ResultModel> iterator = model.getChildren().iterator(); ResultModel testcase1 = iterator.next(); ResultModel testcase2 = iterator.next(); assertEquals("testcase1 (10.0 ms)", testcase1.getDisplayLabel()); assertEquals(3, testcase1.getNumberOfTests()); assertEquals(1, testcase1.getNumberOfErrors()); assertEquals(1, testcase1.getNumberOfFailures()); assertEquals("testcase (18.0 ms)", testcase2.getDisplayLabel()); assertEquals(4, testcase2.getNumberOfTests()); assertEquals(1, testcase2.getNumberOfErrors()); assertEquals(2, testcase2.getNumberOfFailures()); } public void testGetTotalTimeTaken() throws Exception { BaseResultModel model = new EclipseJstdBrowserRunResult(null, "browser"); model.addTestResult(passing1); model.addTestResult(failed1); model.addTestResult(error1); model.addTestResult(passing2); model.addTestResult(failed2); model.addTestResult(failed3); model.addTestResult(error2); assertEquals(2, model.getChildren().size()); assertEquals(28f, model.getTotalTimeTaken()); Iterator<? extends ResultModel> iterator = model.getChildren().iterator(); BaseResultModel testcase1 = (BaseResultModel) iterator.next(); BaseResultModel testcase2 = (BaseResultModel) iterator.next(); assertEquals("testcase1 (10.0 ms)", testcase1.getDisplayLabel()); assertEquals(10f, testcase1.getTotalTimeTaken()); assertEquals("testcase (18.0 ms)", testcase2.getDisplayLabel()); assertEquals(18f, testcase2.getTotalTimeTaken()); } }