Q.2.8 You are required to write unit tests for the application. Create a test package within

the application you created, which will contain the necessary unit tests.
You are required to write the following unit tests:
Test Name Test Purpose
CalculateCommission_CalculatedSuccessfully() To supply the property price and
agent commission percentage to
the Calculate Commission
method. The test will determine
that the correct commission
value is returned.
CalculateCommission_CalculatedUnSuccessfully() To supply the property price and
agent commission percentage to
the Calculate Commission
method. The test will determine
if there is a calculation error.
Validation Test You must only write one unit
test to prove that the validation
performs as expected. Examples
can include validating location is
valid, validating name is valid or
validating property price is valid.in java.include import method

import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

public class CommissionCalculatorTest {

@Test
public void calculateCommission_CalculatedSuccessfully() {
CommissionCalculator calculator = new CommissionCalculator();
double propertyPrice = 500000.0;
double commissionPercentage = 2.5;

double expectedCommission = 12500.0;
double actualCommission = calculator.calculateCommission(propertyPrice, commissionPercentage);

assertEquals(expectedCommission, actualCommission, 0.001);
}

@Test
public void calculateCommission_CalculatedUnsuccessfully() {
CommissionCalculator calculator = new CommissionCalculator();
double propertyPrice = 500000.0;
double commissionPercentage = -2.5;

double actualCommission = calculator.calculateCommission(propertyPrice, commissionPercentage);

assertTrue(Double.isNaN(actualCommission));
}

@Test
public void validateLocation_ValidLocation() {
CommissionCalculator calculator = new CommissionCalculator();
String location = "New York";

boolean isValid = calculator.validateLocation(location);

assertTrue(isValid);
}

@Test
public void validateLocation_InvalidLocation() {
CommissionCalculator calculator = new CommissionCalculator();
String location = "Invalid Location";

boolean isValid = calculator.validateLocation(location);

assertFalse(isValid);
}
}