Skip to content

Commit

Permalink
add test case
Browse files Browse the repository at this point in the history
  • Loading branch information
xiemalin committed Oct 12, 2019
1 parent 1241581 commit baae399
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ public abstract class AbstractCodeGenerator implements ICodeGenerator {
/** The debug. */
protected boolean debug = false;

/** auto proxied suffix class name. */
public static final String DEFAULT_SUFFIX_CLASSNAME = "$$JProtoBufClass";

/** The output path. */
protected File outputPath;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@
*/
public class CodeGenerator extends AbstractCodeGenerator {

/** auto proxied suffix class name. */
public static final String DEFAULT_SUFFIX_CLASSNAME = "$$JProtoBufClass";

/** The Constant JAVA_CLASS_FILE_SUFFIX. */
public static final String JAVA_CLASS_FILE_SUFFIX = ".class";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ public class TemplateCodeGenerator extends AbstractCodeGenerator {
/** The templator. */
private MiniTemplator templator;

/** auto proxied suffix class name. */
public static final String DEFAULT_SUFFIX_CLASSNAME = "$$JProtoBufClass";

/**
* Instantiates a new template code generator.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Copyright 2002-2007 the original author or authors.
*
* 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.baidu.bjf.remoting.protobuf.code;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
* The Class AbstractCodeGeneratorTest.
*
* @author xiemalin
*/
public abstract class AbstractCodeGeneratorTest {

/** The code generator. */
private ICodeGenerator codeGenerator;

@Before
public void setUp() {
codeGenerator = getCodeGenerator();
}

/**
* Gets the code generator.
*
* @return the code generator
*/
protected abstract ICodeGenerator getCodeGenerator();

/**
* Gets the test class.
*
* @return the test class
*/
protected abstract Class getTestClass();

/**
* Test get code.
*/
@Test
public void testGetCode() {
Assert.assertNotNull(codeGenerator.getCode());
}

/**
* Test get class name.
*/
@Test
public void testGetClassName() {
String className = codeGenerator.getClassName();
Assert.assertEquals(className, getTestClass().getSimpleName() + AbstractCodeGenerator.DEFAULT_SUFFIX_CLASSNAME);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright 2002-2007 the original author or authors.
*
* 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.baidu.bjf.remoting.protobuf.code;

import com.baidu.bjf.remoting.protobuf.complex.PersonPOJO;

/**
* The Class CodeGeneratorTest.
*/
public class CodeGeneratorTest extends AbstractCodeGeneratorTest {

/*
* (non-Javadoc)
*
* @see com.baidu.bjf.remoting.protobuf.code.AbstractCodeGeneratorTest#getCodeGenerator()
*/
@Override
protected ICodeGenerator getCodeGenerator() {
return new CodeGenerator(getTestClass());
}

/*
* (non-Javadoc)
*
* @see com.baidu.bjf.remoting.protobuf.code.AbstractCodeGeneratorTest#getTestClass()
*/
@Override
protected Class getTestClass() {
return PersonPOJO.class;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,33 @@
*/
package com.baidu.bjf.remoting.protobuf.code;

import org.junit.Test;

import com.baidu.bjf.remoting.protobuf.complex.PersonPOJO;

import junit.framework.Assert;

/**
* The Class TemplateCodeGeneratorTest.
*
* @author xiemalin
* @since 1.12.0
*/
public class TemplateCodeGeneratorTest {
public class TemplateCodeGeneratorTest extends AbstractCodeGeneratorTest {

/*
* (non-Javadoc)
*
* @see com.baidu.bjf.remoting.protobuf.code.AbstractCodeGeneratorTest#getCodeGenerator()
*/
@Override
protected ICodeGenerator getCodeGenerator() {
return new TemplateCodeGenerator(getTestClass());
}


@Test
public void testCodeGenerate() {
TemplateCodeGenerator generator = new TemplateCodeGenerator(PersonPOJO.class);
Assert.assertNotNull(generator.getCode());

/*
* (non-Javadoc)
*
* @see com.baidu.bjf.remoting.protobuf.code.AbstractCodeGeneratorTest#getTestClass()
*/
@Override
protected Class getTestClass() {
return PersonPOJO.class;
}
}

0 comments on commit baae399

Please sign in to comment.