Add readme for building
This commit is contained in:
		@@ -2,8 +2,26 @@ image: azul/zulu-openjdk:8-latest
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
stages:
 | 
					stages:
 | 
				
			||||||
  - test
 | 
					  - test
 | 
				
			||||||
 | 
					  - analyze
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# verify the padlock impl independently
 | 
				
			||||||
unit-test-padlock-impl:
 | 
					unit-test-padlock-impl:
 | 
				
			||||||
  stage: test
 | 
					  stage: test
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - ./gradlew :padlock-impl:test
 | 
					    - ./gradlew :padlock-impl:test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unit-test-all:
 | 
				
			||||||
 | 
					  stage: test
 | 
				
			||||||
 | 
					  script:
 | 
				
			||||||
 | 
					    - ./gradlew test
 | 
				
			||||||
 | 
					  artifacts:
 | 
				
			||||||
 | 
					    when: always
 | 
				
			||||||
 | 
					    reports:
 | 
				
			||||||
 | 
					      junit: build/test-results/test/**/TEST-*.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run-performance-analyze:
 | 
				
			||||||
 | 
					  stage: analyze
 | 
				
			||||||
 | 
					  needs:
 | 
				
			||||||
 | 
					    - job: unit-test-all
 | 
				
			||||||
 | 
					  script:
 | 
				
			||||||
 | 
					    - ./gradlew runPerformanceAnalyze
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							@@ -48,6 +48,26 @@ You should design the proper architectures for your code.
 | 
				
			|||||||
Last but not least, readability and maintainability are also important.
 | 
					Last but not least, readability and maintainability are also important.
 | 
				
			||||||
Take this project as a show off to your designing and coding skills.
 | 
					Take this project as a show off to your designing and coding skills.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This repo uses Gradle to build and test.
 | 
				
			||||||
 | 
					There is a unit test boilerplate and a gradle task configured to
 | 
				
			||||||
 | 
					automatically test and evaluate the code when you push your commits.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The `SolutionTestBase` is an abstract class for other tests.
 | 
				
			||||||
 | 
					It tests the correctness of your solution and don't care about the run time.
 | 
				
			||||||
 | 
					See `SolutionTest` for how to use that.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The `PerformanceAnalyze` is not a unit test, but it do analyze roughly how
 | 
				
			||||||
 | 
					fast your solution is. You need to fill in the `solve` method before you run it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Use `./gradlew test` to run all unit test configured in the project,
 | 
				
			||||||
 | 
					and use `./gradlew runPerformanceTest` to get an analysis.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Note: You don't have to have a local gradle installation.
 | 
				
			||||||
 | 
					> The `gradlew` script will download one for you.
 | 
				
			||||||
 | 
					> Just install a valid jdk (version >= 8) and very thing should be fine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Still have unclear problems?
 | 
					## Still have unclear problems?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Feel free to contact Jeffrey Freeman (jeffrey.freeman@cleverthis.com).
 | 
					Feel free to contact Jeffrey Freeman (jeffrey.freeman@cleverthis.com).
 | 
				
			||||||
@@ -7,15 +7,13 @@ import com.cleverthis.interview.padlock.PadlockImpl;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
public class PerformanceAnalyze {
 | 
					public class PerformanceAnalyze {
 | 
				
			||||||
    private static void solve(PadlockImpl padlock) {
 | 
					    private static void solve(PadlockImpl padlock) {
 | 
				
			||||||
        // TODO
 | 
					        new Solution().solve(padlock);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final String RUN_NAME = "Boilerplate";
 | 
					    private static final int TOTAL_RUN = 500;
 | 
				
			||||||
    private static final int TOTAL_RUN = 50;
 | 
					    private static final int NUMPAD_SIZE = 9;
 | 
				
			||||||
    private static final int NUMPAD_SIZE = 7;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static {
 | 
					    static {
 | 
				
			||||||
        System.out.println("Run name: " + RUN_NAME);
 | 
					 | 
				
			||||||
        System.out.println("Total run: " + TOTAL_RUN);
 | 
					        System.out.println("Total run: " + TOTAL_RUN);
 | 
				
			||||||
        System.out.println("Numpad size: " + NUMPAD_SIZE);
 | 
					        System.out.println("Numpad size: " + NUMPAD_SIZE);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user