Part 1. Basic: Question 1. Write A Unit Test For That Code A. Codes

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

PART 1.

BASIC
Question 1. Write a unit test for that code
a. Codes

public class Calculator {


public int add(int number1, int number2) {
return number1 + number2;
}
}
b. Testcase

1. Test Return value

@Test
void test() {
Quest_1 q = new Quest_1();

assertEquals(q.add(9, 3), 12, "error in add()");


}

2. Test larger max int type

@Test
void test() {

Quest_1 q = new Quest_1();

int result1 = q.add(2001345678, 2320000000);

// Vuot ngoai tam (duong) thi se ra am


assertTrue("exceed type int" , result1 < 0);
}

3. Test smaller than min int type

@Test
void test() {
Quest_1 q = new Quest_1();
long result1 = q.add(-2121345678, -1234000000);

// Vuot ngoai tam (am) thi se ra duong


assertTrue("exceed type int" , result1 > 0);
}

Question 2. Write a unit test for that code


a. Codes
public class Calculator {
public int sub(int number1, int number2) {
return number1 - number2;
}
}
b. Testcase
1. Test Return value

@Test
void test() {
Quest_2 q = new Quest_2();

assertEquals(q.sub(2, 3), -1, "error in add()");


}

2. Test larger max int type

@Test
void test() {
Quest_2 q = new Quest_2();
long result1 = q.sub(2121345678, 1000000000);

// Vuot ngoai tam (duong) thi se ra am


assertTrue("exceed type int" , result1 < 0);
}
3. Test smaller than min int type
@Test
void test() {
Quest_2 q = new Quest_2();
long result1 = q.sub(-2121345678, -1000000000);

// Vuot ngoai tam (am) thi se ra duong


assertTrue("exceed type int" , result1 > 0);
}

Question 3. Write a unit test for that code


a. Codes

public class Calculator {


public int mul(int number1, int number2) {
return number1 * number2;
}
}
b. Testcase
1. Test Return value

@Test
void test() {
Quest_3 q = new Quest_3();
assertEquals(q.mul(7, 7), 14, "error in add()");
}

2. Test larger max int type

@Test
void test() {
Quest_3 q = new Quest_3();
long result1 = q.mul(2121345678, 1000000000);

// Vuot ngoai tam (duong) thi se ra am


assertTrue("exceed type int" , result1 < 0);
}

3. Test smaller than min int type

@Test
void test() {
Quest_3 q = new Quest_3();
long result1 = q.mul(-2121345678, -1000000000);

// Vuot ngoai tam (am) thi se ra duong


assertTrue("exceed type int" , result1 > 0);
}

Question 4. Write a unit test for that code


a. Codes

public class Calculator {


public int div(int number1, int number2) {
return number1 / number2;
}
}
b. Testcase
Test Return value
@Test
void test() {
Quest_4 q = new Quest_4();
assertEquals(q.div(3, 2), 1, "error in add()");

2. division 0

@Test()
public void testDivideByZero() throws Exception {

Quest_4 q = new Quest_4();


q.div(1, 0);

}
4. return float type, ex 15/2= 7.5

@Test
void test() {
Quest_4 q = new Quest_4();
assertEquals(q.div(15, 2), 7.5, "Wrong result");

Question 5. Write a unit test for that code


a. Codes

public class SolveEquation {


public String linearEquation(int number1, int number2) {
if (number1 == 0)
if (number2 == 0)
return "Multi roots";
else
return "No root";
else
return "One root";
}
}
b. Testcase
1. Test Multi roots

@Test
void test() {
Quest_5 q = new Quest_5();
assertEquals(q.linearEquation(0, 0), "Multi roots");

2. Test No root

@Test
void test() {
Quest_5 q = new Quest_5();
assertEquals(q.linearEquation(0, 1), "No root");

3. Test One root

@Test
void test() {
Quest_5 q = new Quest_5();
assertEquals(q.linearEquation(1, 0), "One root");
}

Question 6. Write a unit test for that code


a. Codes

public class MaxNumber {


public int max3(int number1, int number2, int number3) {
if (number1 > number2)
if (number1 > number3)
return number1;
else
return number3;
else if (number2 > number3)
return number2;
else
return number3;
}
}
b. Testcase
1. Test first number is max

@Test
void test() {
MaxNumber max = new MaxNumber();
assertEquals(max.max3(3, 2, 1), 3);
}

2. Test second number is max

@Test
void test() {
MaxNumber max = new MaxNumber();
assertEquals(max.max3(0, 2, 1), 2);
}

3. Test third number is max

@Test
void test() {
MaxNumber max = new MaxNumber();
assertEquals(max.max3(1, 2, 3), 3);
}
Question 7. Write a unit test for that code
a. Codes

public class MaxNumber {


public int max2(int number1, int number2) {
if (number1 > number2)
return number1;
else
return number2;
}
}
b. Testcase
1. Test first number is max

@Test
void test() {
MaxNumber max = new MaxNumber();
assertEquals(max.max2(2, 1), 2);
}

2. Test second number is max

@Test
void test() {
MaxNumber max = new MaxNumber();
assertEquals(max.max2(2, 3), 3);
}

Question 8. Write a unit test for that codes


a. Codes

public class Sort {


public int number1;
public int number2;

public void sortAsc() {


if (number1 > number2) {
int temp = number1;
number1 = number2;
number2 = temp;
}
}
}
b. Testcase
Test number1 is greater than number 2

@Test
void test() {
Sort s = new Sort();
s.number1 = 2;
s.number2 = 1;
s.sortAsc();
assertTrue(s.number1 < s.number2);
}

Test number1 is less than number 2

@Test
void test() {
Sort s = new Sort();
s.number1 = 1;
s.number2 = 2;
s.sortAsc();
assertTrue(s.number1 < s.number2);
}

Question 9. Write a unit test for that codes


a. Codes

public class Sort {


public int number1;
public int number2;

public void sortDesc() {


if (number1 < number2) {
int temp = number1;
number1 = number2;
number2 = temp;
}
}
}
b. Testcase

Test number1 is greater than number 2

@Test
void test() {
Sort sort = new Sort();
sort.number1 = 2;
sort.number2 = 1;

sort.sortDesc();
assertTrue(sort.number1 > sort.number2);
}

Test number1 is less than number 2

@Test
void test() {
Sort sort = new Sort();
sort.number1 = 1;
sort.number2 = 2;

sort.sortDesc();

assertTrue(sort.number1 > sort.number2);


}

Question 10. Write a unit test for that codes


a. Codes

public class Triangle {


int number1;
int number2;
int number3;

public int maxLength() {


if (number1 >= number2)
if (number1 > number3)
return number1;
else
return number3;
if (number2 > number3)
return number2;
else
return number3;
}
}
b. Testcase
1. Test first number is max

@Test
void test() {
Triangle tri = new Triangle();
tri.number1 = 3;
tri.number2 = 2;
tri.number3 = 2;

assertEquals(tri.maxLength(), tri.number1);
}
2. Test second number is max

@Test
void test() {
Triangle tri = new Triangle();
tri.number1 = 2;
tri.number2 = 2;
tri.number3 = 1;

assertEquals(tri.maxLength(), tri.number2);
}

3. Test third number is max

@Test
void test() {
Triangle tri = new Triangle();
tri.number1 = 2;
tri.number2 = 2;
tri.number3 = 3;

assertEquals(tri.maxLength(), tri.number3);
}

PART II. ADVANCE


Question 1. Write a unit test for that codes

public class Advance1 {


public int USCLN(int a, int b){
while(a!= b){
if(a>b) a= a-b;
else b= b-a;
}
return (a);
}

public int BSCNN(int a,int b){


return (a*b)/USCLN(a,b);
}
}

Test USCLN
@Test
void test() {
Advance1 adv = new Advance1();
assertEquals(adv.USCLN(6, 2), 2);
}
Test BSCNN
@Test
void test() {
Advance1 adv = new Advance1();
assertEquals(adv.BSCNN(9, 5), 45);
}

Question 2. Write a unit test for that codes

public class Advance1 {


public int sum(long number) {
//Tính tổng các phần tử của number
//VD number = 5765, sum = 5+7+6+5 = 23
int sum = 0;
long index;
while (number != 0) {
index = number % 10;
sum += index;
number /= 10;
}
return sum;
}
}

Test return
@Test
void test() {
Advance2 avd = new Advance2();

assertEquals(avd.sum(123456789), 45);
}
Question 3. Write a unit test for that codes

public class Advance3 {


/**
* Tính số fibonacci thứ n
* @param n: chỉ số của số fibonacci tính từ 0 vd: F0 = 0, F1 = 1, F2 = 1, F3 =2
* @return số fibonacci thứ n
*/
public static int fibonacci(int n) {
if (n < 0) {
return -1;
} else if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
}
Test return

@Test
void test() {
Advance3 adv = new Advance3();
long result = adv.fibonacci(5);

assertEquals(result, 5);
}

Question 4. Write a unit test for that codes

public class Advance3 {


/**
* Kiểm tra số nguyên tố
*
* @param n: số nguyên dương
* @return: true là số nguyên tố : false không phải là số nguyên tố
*/
public static boolean isPrimeNumber(int n) {
// so nguyen n < 2 khong phai la so nguyen to
if (n < 2) {
return false;
}
// check so nguyen to khi n >= 2
int squareRoot = (int) Math.sqrt(n);
for (int i = 2; i <= squareRoot; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}

Test return
@Test
void test() {
Advance4 adv = new Advance4();

assertTrue(adv.isPrimeNumber(2));
}

You might also like