/*
* Copyright (c) 2013, the Dart project authors.
*
* Licensed under the Eclipse Public License v1.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.eclipse.org/legal/epl-v10.html
*
* 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.dart.java2dart.processor;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
/**
* Test for {@link JUnitSemanticProcessor}.
*/
public class JUnitSemanticProcessorTest extends SemanticProcessorTest {
public void test_Assert() throws Exception {
translateSingleFile(
"// filler filler filler filler filler filler filler filler filler filler",
"package test;",
"import junit.framework.Assert;",
"import junit.framework.TestCase;",
"public class Test extends TestCase {",
" public void test_x() {",
" fail(\"msg\");",
" Assert.fail(\"msg\");",
" }",
"}");
runProcessor();
String resultSource = getFormattedSource(unit);
resultSource = StringUtils.substringBefore(resultSource, "static dartSuite() {");
assertEquals(toString(//
"class Test extends JUnitTestCase {",
" void test_x() {",
" JUnitTestCase.fail(\"msg\");",
" JUnitTestCase.fail(\"msg\");",
" }",
" "), resultSource);
}
public void test_assertTrueFalse() throws Exception {
translateSingleFile(
"// filler filler filler filler filler filler filler filler filler filler",
"package test;",
"import junit.framework.TestCase;",
"public class Test extends TestCase {",
" public void test_assertTrue() {",
" boolean v = true;",
" assertTrue(v);",
" assertTrue(\"msg\", v);",
" }",
" public void test_assertFalse() {",
" boolean v = false;",
" assertFalse(v);",
" assertFalse(\"msg\", v);",
" }",
"}");
runProcessor();
assertFormattedSource(
"class Test extends JUnitTestCase {",
" void test_assertTrue() {",
" bool v = true;",
" JUnitTestCase.assertTrue(v);",
" JUnitTestCase.assertTrueMsg(\"msg\", v);",
" }",
" void test_assertFalse() {",
" bool v = false;",
" JUnitTestCase.assertFalse(v);",
" JUnitTestCase.assertFalseMsg(\"msg\", v);",
" }",
" static dartSuite() {",
" _ut.group('Test', () {",
" _ut.test('test_assertFalse', () {",
" final __test = new Test();",
" runJUnitTest(__test, __test.test_assertFalse);",
" });",
" _ut.test('test_assertTrue', () {",
" final __test = new Test();",
" runJUnitTest(__test, __test.test_assertTrue);",
" });",
" });",
" }",
"}");
}
public void test_assertX() throws Exception {
translateSingleFile(
"// filler filler filler filler filler filler filler filler filler filler",
"package test;",
"import junit.framework.TestCase;",
"public class Test extends TestCase {",
" public void test_x() {",
" Object v;",
" assertNull(v);",
" assertNotNull(v);",
" assertEquals(1, v);",
" assertEquals(\"msg\", 1, v);",
" assertSame(2, v);",
" assertSame(\"msg\", 2, v);",
" assertNotSame(3, v);",
" }",
"}");
runProcessor();
String resultSource = getFormattedSource(unit);
resultSource = StringUtils.substringBefore(resultSource, "static dartSuite() {");
assertEquals(
toString(
"class Test extends JUnitTestCase {",
" void test_x() {",
" Object v;",
" JUnitTestCase.assertNull(v);",
" JUnitTestCase.assertNotNull(v);",
" JUnitTestCase.assertEquals(1, v);",
" JUnitTestCase.assertEqualsMsg(\"msg\", 1, v);",
" JUnitTestCase.assertSame(2, v);",
" JUnitTestCase.assertSameMsg(\"msg\", 2, v);",
" JUnitTestCase.assertNotSame(3, v);",
" }",
" "),
resultSource);
}
@Override
protected void setUp() throws Exception {
super.setUp();
context.addClasspathFile(new File("../../../../third_party/junit/v4_8_2/junit.jar"));
}
private void runProcessor() {
new JUnitSemanticProcessor(context).process(unit);
}
}