Initial commit
This commit is contained in:
17
s1/.editorconfig
Normal file
17
s1/.editorconfig
Normal file
@@ -0,0 +1,17 @@
|
||||
# Editor configuration, see http://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
max_line_length = 80
|
||||
|
||||
[*.sh]
|
||||
end_of_line = lf
|
||||
|
||||
[*.java]
|
||||
indent_size = 4
|
||||
max_line_length = 120
|
||||
173
s1/pom.xml
Normal file
173
s1/pom.xml
Normal file
@@ -0,0 +1,173 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.tabrizu.data</groupId>
|
||||
<artifactId>s1</artifactId>
|
||||
<version>1.0</version>
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<junit.version>5.6.0</junit.version>
|
||||
<maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
|
||||
<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
|
||||
<checkstyle.version>8.45.1</checkstyle.version>
|
||||
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
||||
<jacoco-maven-plugin.version>0.8.4</jacoco-maven-plugin.version>
|
||||
<maven-javadoc-plugin.version>3.0.0</maven-javadoc-plugin.version>
|
||||
<!-- JaCoCo thresholds. Increase gradually as you add tests. -->
|
||||
<jacoco.unit-tests.limit.instruction-ratio>0%</jacoco.unit-tests.limit.instruction-ratio>
|
||||
<jacoco.unit-tests.limit.branch-ratio>0%</jacoco.unit-tests.limit.branch-ratio>
|
||||
<jacoco.unit-tests.limit.class-complexity>20</jacoco.unit-tests.limit.class-complexity>
|
||||
<jacoco.unit-tests.limit.method-complexity>5</jacoco.unit-tests.limit.method-complexity>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<version>${maven-enforcer-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireMavenVersion>
|
||||
<version>3.6.3</version>
|
||||
</requireMavenVersion>
|
||||
</rules>
|
||||
<fail>true</fail>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||
<version>${maven-checkstyle-plugin.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.puppycrawl.tools</groupId>
|
||||
<artifactId>checkstyle</artifactId>
|
||||
<version>${checkstyle.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.ngeor</groupId>
|
||||
<artifactId>checkstyle-rules</artifactId>
|
||||
<version>4.9.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<configLocation>com/github/ngeor/checkstyle.xml</configLocation>
|
||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
||||
<skip>${skipTests}</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>checkstyle</id>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>${maven-surefire-plugin.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>${jacoco-maven-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>pre-unit-test</id>
|
||||
<goals>
|
||||
<goal>prepare-agent</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>post-unit-test</id>
|
||||
<phase>test</phase>
|
||||
<goals>
|
||||
<goal>report</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>check-unit-test</id>
|
||||
<phase>test</phase>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<dataFile>${project.build.directory}/jacoco.exec</dataFile>
|
||||
<rules>
|
||||
<rule>
|
||||
<element>BUNDLE</element>
|
||||
<limits>
|
||||
<limit>
|
||||
<counter>INSTRUCTION</counter>
|
||||
<value>COVEREDRATIO</value>
|
||||
<minimum>${jacoco.unit-tests.limit.instruction-ratio}</minimum>
|
||||
</limit>
|
||||
<limit>
|
||||
<counter>BRANCH</counter>
|
||||
<value>COVEREDRATIO</value>
|
||||
<minimum>${jacoco.unit-tests.limit.branch-ratio}</minimum>
|
||||
</limit>
|
||||
</limits>
|
||||
</rule>
|
||||
<rule>
|
||||
<element>CLASS</element>
|
||||
<limits>
|
||||
<limit>
|
||||
<counter>COMPLEXITY</counter>
|
||||
<value>TOTALCOUNT</value>
|
||||
<maximum>${jacoco.unit-tests.limit.class-complexity}</maximum>
|
||||
</limit>
|
||||
</limits>
|
||||
</rule>
|
||||
<rule>
|
||||
<element>METHOD</element>
|
||||
<limits>
|
||||
<limit>
|
||||
<counter>COMPLEXITY</counter>
|
||||
<value>TOTALCOUNT</value>
|
||||
<maximum>${jacoco.unit-tests.limit.method-complexity}</maximum>
|
||||
</limit>
|
||||
</limits>
|
||||
</rule>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>${maven-javadoc-plugin.version}</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</project>
|
||||
30
s1/src/main/java/com/tabrizu/data/App.java
Normal file
30
s1/src/main/java/com/tabrizu/data/App.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.tabrizu.data;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*/
|
||||
public final class App {
|
||||
private App() {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
ScoreBoard board = new ScoreBoard();
|
||||
|
||||
for (int i = 0; i < 100; i++) {
|
||||
|
||||
Score randomScore = new Score("user"+String.valueOf(i));
|
||||
randomScore.setScore((int)(Math.random() * 100));
|
||||
|
||||
board.insertNewScore(randomScore);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
|
||||
String userName = "user"+String.valueOf((int)(Math.random() * 100))
|
||||
board.removeUser(userName);
|
||||
}
|
||||
|
||||
board.show();
|
||||
}
|
||||
}
|
||||
32
s1/src/main/java/com/tabrizu/data/Score.java
Normal file
32
s1/src/main/java/com/tabrizu/data/Score.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.tabrizu.data;
|
||||
|
||||
public class Score {
|
||||
|
||||
private int m_score;
|
||||
private String m_username;
|
||||
|
||||
private Score(){}
|
||||
|
||||
public Score(String username){
|
||||
m_username = username;
|
||||
m_score = 0;
|
||||
}
|
||||
|
||||
public String getUsername(){
|
||||
return m_username;
|
||||
}
|
||||
|
||||
public void setScore(int score){
|
||||
m_score = score;
|
||||
}
|
||||
|
||||
public int getScore(){
|
||||
return m_score;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
return m_username + " : " + String.valueOf(m_score);
|
||||
}
|
||||
|
||||
}
|
||||
37
s1/src/main/java/com/tabrizu/data/ScoreBoard.java
Normal file
37
s1/src/main/java/com/tabrizu/data/ScoreBoard.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.tabrizu.data;
|
||||
|
||||
public class ScoreBoard {
|
||||
|
||||
private static final int SCORE_SIZE = 10;
|
||||
|
||||
Score[] m_board;
|
||||
int m_boardIndex;
|
||||
|
||||
public ScoreBoard(){
|
||||
m_boardIndex = 0;
|
||||
m_board = new Score[SCORE_SIZE];
|
||||
}
|
||||
|
||||
public void insertNewScore(Score score){
|
||||
|
||||
}
|
||||
|
||||
public void removeUser(String username){
|
||||
|
||||
}
|
||||
|
||||
public void show(){
|
||||
System.out.print(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
|
||||
String str = "";
|
||||
for (int i = 0; i < m_boardIndex; i++) {
|
||||
str += String.valueOf(i+1) + " => " + String.valueOf(m_board[i]) + "\n";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
}
|
||||
18
s1/src/test/java/com/tabrizu/data/AppTest.java
Normal file
18
s1/src/test/java/com/tabrizu/data/AppTest.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package com.tabrizu.data;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
class AppTest {
|
||||
/**
|
||||
* Rigorous Test.
|
||||
*/
|
||||
@Test
|
||||
void testApp() {
|
||||
assertEquals(1, 1);
|
||||
}
|
||||
}
|
||||
BIN
s1/target/classes/com/tabrizu/data/App.class
Normal file
BIN
s1/target/classes/com/tabrizu/data/App.class
Normal file
Binary file not shown.
BIN
s1/target/classes/com/tabrizu/data/Score.class
Normal file
BIN
s1/target/classes/com/tabrizu/data/Score.class
Normal file
Binary file not shown.
BIN
s1/target/classes/com/tabrizu/data/ScoreBoard.class
Normal file
BIN
s1/target/classes/com/tabrizu/data/ScoreBoard.class
Normal file
Binary file not shown.
BIN
s1/target/test-classes/com/tabrizu/data/AppTest.class
Normal file
BIN
s1/target/test-classes/com/tabrizu/data/AppTest.class
Normal file
Binary file not shown.
Reference in New Issue
Block a user