Skip to content

Commit 9bf70a7

Browse files
update basics (examplehub#196)
* ValidSudoku * valid sudoku * update autoboxing * update basics
1 parent 3f67e37 commit 9bf70a7

File tree

9 files changed

+286
-1
lines changed

9 files changed

+286
-1
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.examplehub.basics.number;
2+
3+
public class DoubleExample {
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.examplehub.basics.oop;
2+
3+
public class ObjectExample {
4+
}

src/main/java/com/examplehub/leetcode/middle/ValidSudoku.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public static boolean solution1(char[][] board) {
2929
return false;
3030
}
3131
}
32-
3332
// travel all sub-box
3433
// TODO
3534
return true;

src/test/java/com/examplehub/basics/bool/BooleanExampleTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,24 @@ void testTernaryOperator() {
4848
int abs = num < 0 ? -num : num;
4949
assertEquals(3, abs);
5050
}
51+
52+
@Test
53+
void testValueOf() {
54+
Boolean b = Boolean.valueOf(true);
55+
assertTrue(b.booleanValue());
56+
57+
b = Boolean.valueOf("false");
58+
assertFalse(b.booleanValue());
59+
}
60+
61+
@Test
62+
void testAutoBoxing() {
63+
Boolean b = false;
64+
System.out.println(b);
65+
assertFalse(b);
66+
67+
boolean bValue = b;
68+
System.out.println(bValue);
69+
assertFalse(bValue);
70+
}
5171
}

src/test/java/com/examplehub/basics/chars/CharExampleTest.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,63 @@ void testAddAndSub() {
3232
assertEquals(9, '9' - '0');
3333
assertEquals(0, 'a' - 97);
3434
}
35+
36+
@Test
37+
void testValueOf() {
38+
Character c = Character.valueOf('A');
39+
assertEquals('A', c.charValue());
40+
}
41+
42+
@Test
43+
void testAutoboxing() {
44+
Character c = 'A';
45+
System.out.println(c);
46+
assertEquals('A', c);
47+
}
48+
49+
@Test
50+
void testIsLower() {
51+
assertFalse(Character.isLowerCase('A'));
52+
assertTrue(Character.isLowerCase('a'));
53+
assertFalse(Character.isLowerCase('1'));
54+
}
55+
56+
@Test
57+
void testIsUpper() {
58+
assertTrue(Character.isUpperCase('A'));
59+
assertFalse(Character.isUpperCase('a'));
60+
assertFalse(Character.isUpperCase('1'));
61+
}
62+
63+
@Test
64+
void testIsDigit() {
65+
System.out.println(Character.isDigit('A'));
66+
System.out.println(Character.isDigit('a'));
67+
System.out.println(Character.isDigit('1'));
68+
69+
assertFalse(Character.isDigit('A'));
70+
assertFalse(Character.isDigit('a'));
71+
assertTrue(Character.isDigit('1'));
72+
}
73+
74+
@Test
75+
void testToLower() {
76+
assertEquals('a', Character.toLowerCase('A'));
77+
}
78+
79+
@Test
80+
void testToUpper() {
81+
assertEquals('A', Character.toUpperCase('a'));
82+
}
83+
84+
@Test
85+
void testGetNumericValue() {
86+
System.out.println(Character.getNumericValue('8'));
87+
assertEquals(8, Character.getNumericValue('8'));
88+
89+
System.out.println(Character.getNumericValue('A'));
90+
System.out.println(Character.getNumericValue('a'));
91+
assertEquals(10, Character.getNumericValue('A'));
92+
assertEquals(10, Character.getNumericValue('a'));
93+
}
3594
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.examplehub.basics.number;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class DoubleExampleTest {
8+
@Test
9+
void testValueOf() {
10+
Double d = Double.valueOf(3.14);
11+
System.out.println(d.doubleValue());
12+
assertEquals(3.14, d.doubleValue());
13+
14+
d = Double.valueOf("3.14159");
15+
System.out.println(d.doubleValue());
16+
assertEquals(3.14159, d.doubleValue());
17+
}
18+
19+
@Test
20+
void testIsNaN() {
21+
Double d = 0.0 / 0;
22+
assertEquals(d, Double.NaN);
23+
}
24+
25+
@Test
26+
void testAutoboxing() {
27+
Double d = 3.14;
28+
assertEquals(3.14, d.doubleValue());
29+
double pi = d;
30+
assertEquals(3.14, pi);
31+
}
32+
}

src/test/java/com/examplehub/basics/number/IntegerExampleTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,51 @@
22

33
import static org.junit.jupiter.api.Assertions.*;
44

5+
import jdk.jfr.StackTrace;
56
import org.junit.jupiter.api.Test;
7+
import org.junit.jupiter.api.function.Executable;
68

79
class IntegerExampleTest {
10+
11+
@Test
12+
void testValueOf() {
13+
Integer integer = Integer.valueOf(100);
14+
System.out.println(integer);
15+
assertEquals(100, integer.intValue());
16+
17+
integer = Integer.valueOf("123");
18+
System.out.println(integer);
19+
assertEquals(123, integer.intValue());
20+
21+
integer = Integer.valueOf("a", 16);
22+
System.out.println(integer);
23+
assertEquals(10, integer.intValue());
24+
}
25+
26+
@Test
27+
void testParseInt() {
28+
int number = Integer.parseInt("123");
29+
System.out.println(number);
30+
assertEquals(123, number);
31+
32+
assertThrows(NumberFormatException.class, () -> {
33+
int num = Integer.parseInt("123a");
34+
fail();
35+
});
36+
}
37+
838
@Test
939
void testAutoBoxing() {
1040
Integer integer = 10;
1141
assertEquals(10, integer.intValue());
1242
Integer integer1 = 10;
1343
assertTrue(integer == integer1);
1444
assertTrue(integer.equals(integer1));
45+
46+
Integer first = 128;
47+
Integer second = 128;
48+
System.out.println(first == second);
49+
assertNotSame(first, second);
1550
}
1651

1752
@Test
@@ -24,4 +59,19 @@ void testAutoBoxingNullPointer() {
2459
assertTrue(true);
2560
}
2661
}
62+
63+
@Test
64+
void testToBinaryString() {
65+
assertEquals("1010", Integer.toBinaryString(10));
66+
}
67+
68+
@Test
69+
void testToOctalString() {
70+
assertEquals("12", Integer.toOctalString(10));
71+
}
72+
73+
@Test
74+
void test(){
75+
assertEquals("a", Integer.toHexString(10));
76+
}
2777
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package com.examplehub.basics.oop;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.util.Objects;
6+
7+
import static org.junit.jupiter.api.Assertions.*;
8+
9+
class ObjectExampleTest {
10+
@Test
11+
void testObject() {
12+
Object o = new Object();
13+
System.out.println(o);
14+
}
15+
16+
@Test
17+
void testEquals() {
18+
class Student {
19+
private int id;
20+
private String name;
21+
public Student(int id, String name) {
22+
this.id = id;
23+
this.name = name;
24+
}
25+
}
26+
class People {
27+
private final String name;
28+
private final int age;
29+
30+
public People(String name, int age) {
31+
this.name = name;
32+
this.age = age;
33+
}
34+
35+
@Override
36+
public boolean equals(Object o) {
37+
if (this == o) return true;
38+
if (o == null || getClass() != o.getClass()) return false;
39+
People people = (People) o;
40+
return age == people.age && Objects.equals(name, people.name);
41+
}
42+
43+
@Override
44+
public int hashCode() {
45+
return 0;
46+
}
47+
}
48+
Student stu1 = new Student(10001, "duyuanchao");
49+
Student stu2 = new Student(10001, "duyuanchao");
50+
assertNotSame(stu1, stu2);
51+
assertNotEquals(stu1, stu2);
52+
53+
People p1 = new People("duyuanchao", 25);
54+
People p2 = new People("duyuanchao", 25);
55+
People p3 = new People("jack", 25);
56+
assertNotSame(p1, p2);
57+
assertEquals(p1, p2);
58+
assertNotEquals(p1, p3);
59+
}
60+
61+
@Test
62+
void testHashCode() {
63+
class People {
64+
private final String name;
65+
private final int age;
66+
67+
public People(String name, int age) {
68+
this.name = name;
69+
this.age = age;
70+
}
71+
72+
@Override
73+
public boolean equals(Object o) {
74+
if (this == o) return true;
75+
if (o == null || getClass() != o.getClass()) return false;
76+
People people = (People) o;
77+
return age == people.age && Objects.equals(name, people.name);
78+
}
79+
80+
@Override
81+
public int hashCode() {
82+
return this.age % 13;
83+
}
84+
}
85+
People p1 = new People("duyuanchao", 25);
86+
People p2 = new People("duyuanchao", 25);
87+
assertEquals(p1.hashCode(), p2.hashCode());
88+
}
89+
90+
@Test
91+
void testToString() {
92+
class People {
93+
private final String name;
94+
private final int age;
95+
96+
public People(String name, int age) {
97+
this.name = name;
98+
this.age = age;
99+
}
100+
101+
@Override
102+
public String toString() {
103+
return "name = " + name + ", age = " + age;
104+
}
105+
}
106+
107+
People people = new People("duyuanchao", 25);
108+
assertEquals("name = duyuanchao, age = 25", people.toString());
109+
}
110+
}

src/test/java/com/examplehub/basics/utils/MathUtilsExampleTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,11 @@ void testRandom() {
5151
double randomNumber = Math.random();
5252
assertTrue(randomNumber >= 0 && randomNumber < 1);
5353
}
54+
55+
@Test
56+
void testRound() {
57+
assertEquals(3, Math.round(3.14));
58+
assertEquals(4, Math.round(3.78));
59+
assertEquals(-3, Math.round(-3.14));
60+
}
5461
}

0 commit comments

Comments
 (0)