You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
5.0 KiB
140 lines
5.0 KiB
package com.car;
|
|
|
|
import com.car.config.CarConfig;
|
|
import com.car.config.CarConfigurationSystem;
|
|
import com.car.manufacture.CarManufacturingSystem;
|
|
import com.car.model.*;
|
|
import com.car.service.CarRepairSystem;
|
|
|
|
/**
|
|
* 主测试类 - 测试所有实现的功能
|
|
*/
|
|
public class MainTest {
|
|
|
|
public static void main(String[] args) {
|
|
System.out.println("===== Car System Implementation Test =====");
|
|
|
|
// 测试基础功能
|
|
testBasicCarFunctionality();
|
|
|
|
System.out.println("\n===== Car Configuration System Test =====");
|
|
// 测试汽车配置系统
|
|
testCarConfigurationSystem();
|
|
|
|
System.out.println("\n===== Car Manufacturing System Test =====");
|
|
// 测试汽车制造系统
|
|
testCarManufacturingSystem();
|
|
|
|
System.out.println("\n===== Car Repair System Test =====");
|
|
// 测试汽车维修系统
|
|
testCarRepairSystem();
|
|
|
|
System.out.println("\n===== All Tests Completed Successfully =====");
|
|
}
|
|
|
|
/**
|
|
* 测试基础汽车功能
|
|
*/
|
|
private static void testBasicCarFunctionality() {
|
|
System.out.println("Creating a basic car...");
|
|
Car car = new Car("Toyota", "Camry", "2024");
|
|
|
|
System.out.println("Car details: " + car);
|
|
|
|
// 测试启动和停止
|
|
car.start();
|
|
car.stop();
|
|
|
|
// 测试组件信息
|
|
System.out.println("Steering wheel: " + car.getSteeringWheel());
|
|
System.out.println("Driver seat: " + car.getSeats().get(0));
|
|
System.out.println("Engine: " + car.getEngine());
|
|
System.out.println("Transmission: " + car.getTransmission());
|
|
System.out.println("Electronic system: " + car.getElectronicSystem());
|
|
System.out.println("Wheel 0: " + car.getWheels().get(0));
|
|
|
|
// 测试诊断功能
|
|
car.runDiagnostics();
|
|
}
|
|
|
|
/**
|
|
* 测试汽车配置系统
|
|
*/
|
|
private static void testCarConfigurationSystem() {
|
|
CarConfigurationSystem configSystem = new CarConfigurationSystem();
|
|
|
|
// 创建自定义配置
|
|
CarConfig customConfig = new CarConfig();
|
|
customConfig.setSteeringWheelMaterial("Carbon Fiber");
|
|
customConfig.setSteeringWheelDiameter("360mm");
|
|
customConfig.setDriverSeatMaterial("Premium Leather");
|
|
customConfig.setEngineType("V8");
|
|
customConfig.setEngineHorsepower(450);
|
|
customConfig.setWheelSize("20 inch");
|
|
|
|
// 配置自定义汽车
|
|
Car customCar = configSystem.configureCar("BMW", "M5", "2024", customConfig);
|
|
|
|
// 验证配置是否生效
|
|
System.out.println("Custom car created: " + customCar);
|
|
System.out.println("Custom steering wheel: " + customCar.getSteeringWheel());
|
|
System.out.println("Custom engine: " + customCar.getEngine());
|
|
System.out.println("Custom wheel: " + customCar.getWheels().get(0));
|
|
}
|
|
|
|
/**
|
|
* 测试汽车制造系统
|
|
*/
|
|
private static void testCarManufacturingSystem() {
|
|
CarManufacturingSystem manufacturingSystem = new CarManufacturingSystem();
|
|
|
|
// 制造标准汽车
|
|
Car standardCar = manufacturingSystem.manufactureStandardCar("Honda", "Accord", "2024");
|
|
|
|
// 创建并制造自定义汽车
|
|
CarConfig sportConfig = new CarConfig();
|
|
sportConfig.setEngineType("V6 Twin-Turbo");
|
|
sportConfig.setEngineHorsepower(400);
|
|
sportConfig.setTransmissionType("Dual Clutch");
|
|
sportConfig.setWheelSize("21 inch");
|
|
sportConfig.setWheelType("Performance");
|
|
|
|
Car sportsCar = manufacturingSystem.manufactureCustomCar("Audi", "RS7", "2024", sportConfig);
|
|
|
|
// 显示制造统计
|
|
System.out.println(manufacturingSystem.getManufacturingStats());
|
|
}
|
|
|
|
/**
|
|
* 测试汽车维修系统
|
|
*/
|
|
private static void testCarRepairSystem() {
|
|
CarRepairSystem repairSystem = new CarRepairSystem();
|
|
|
|
// 创建一辆测试汽车
|
|
Car carForRepair = new Car("Ford", "Mustang", "2022");
|
|
|
|
// 修改一些部件使其需要维修(模拟故障)
|
|
// 将一个ECU设置为非运行状态
|
|
carForRepair.getElectronicSystem().getEcuList().get(0).setOperational(false);
|
|
|
|
// 修改轮胎气压
|
|
carForRepair.getWheels().get(0).setPressure(25); // 低于标准
|
|
|
|
// 执行维修
|
|
repairSystem.repairCar(carForRepair);
|
|
|
|
// 测试部件更换
|
|
System.out.println("\nTesting component replacement:");
|
|
repairSystem.replacePart(carForRepair, "steeringwheel", 0);
|
|
repairSystem.replacePart(carForRepair, "seat", 0);
|
|
repairSystem.replacePart(carForRepair, "wheel", 0);
|
|
|
|
// 测试活塞维修
|
|
repairSystem.repairEnginePiston(carForRepair, 0);
|
|
|
|
// 执行定期保养
|
|
System.out.println("\nPerforming scheduled maintenance:");
|
|
repairSystem.performMaintenance(carForRepair);
|
|
}
|
|
} |