parkPractice

package practice;

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Park park = new Park();
        park.setCapacity(10);
        Car car1 = carCreate("张一", "沪A70730");
        Car car2 = carCreate("张二", "沪A70731");
        Car car3 = carCreate("张三", "沪A70732");
        Car car4 = carCreate("张四", "沪A70733");
        Car car5 = carCreate("张五", "沪A70734");
        Car car6 = carCreate("张六", "沪A70735");
        Car car7 = carCreate("张七", "沪A70736");
        Car car8 = carCreate("张八", "沪A70737");
        Car car9 = carCreate("张九", "沪A70738");
        Car car10 = carCreate("张十", "沪A70739");
        Car car11 = carCreate("张十一", "沪A70740");
        park.parking(car1.getVehicleNo());
        park.parking(car2.getVehicleNo());
        park.parking(car3.getVehicleNo());
        park.parking(car4.getVehicleNo());
        park.parking(car5.getVehicleNo());
        park.parking(car6.getVehicleNo());
        park.parking(car7.getVehicleNo());
        park.parking(car8.getVehicleNo());
        park.parking(car9.getVehicleNo());
        park.parking(car10.getVehicleNo());
        park.parking(car11.getVehicleNo());

    }

    private static Car carCreate(String owner, String vehicleNo) {
        Car car1 = new Car();
        car1.setOwner(owner );
        car1.setVehicleNo(vehicleNo );
        return car1;
    }

}

 

 

package test;

import practice.Car;
import practice.Park;
import org.junit.Assert;
import org.junit.Test;

public class ParkTest {
 
 @Test
 public void testParking_allow_park () {
  Park park = new Park();
  park.setCapacity(10);
  Car car1 = carCreate("张一", "沪A70730");
  park.parking(car1.getVehicleNo());
  Assert.assertEquals(1, park.getParkingList().size());
 }
 
 @Test
 public void testParking_not_allow_park () {
  Park park = new Park();
  park.setCapacity(10);
  Car car1 = carCreate("张一", "沪A70730");
  Car car2 = carCreate("张二", "沪A70731");
  Car car3 = carCreate("张三", "沪A70732");
  Car car4 = carCreate("张四", "沪A70733");
  Car car5 = carCreate("张五", "沪A70734");
  Car car6 = carCreate("张六", "沪A70735");
  Car car7 = carCreate("张七", "沪A70736");
  Car car8 = carCreate("张八", "沪A70737");
  Car car9 = carCreate("张九", "沪A70738");
  Car car10 = carCreate("张十", "沪A70739");
  Car car11 = carCreate("张十一", "沪A70740");
  park.parking(car1.getVehicleNo());
  park.parking(car2.getVehicleNo());
  park.parking(car3.getVehicleNo());
  park.parking(car4.getVehicleNo());
  park.parking(car5.getVehicleNo());
  park.parking(car6.getVehicleNo());
  park.parking(car7.getVehicleNo());
  park.parking(car8.getVehicleNo());
  park.parking(car9.getVehicleNo());
  park.parking(car10.getVehicleNo());
  park.parking(car11.getVehicleNo());
  
  Assert.assertFalse(park.getParkingList().contains(car11.getVehicleNo()));
 }
 
    @Test
     public void testParking_allow_park_after_take () {
         Park park = new Park();
         park.setCapacity(10);
         Car car1 = carCreate("张一", "沪A70730");
         Car car2 = carCreate("张二", "沪A70731");
         Car car3 = carCreate("张三", "沪A70732");
         Car car4 = carCreate("张四", "沪A70733");
         Car car5 = carCreate("张五", "沪A70734");
         Car car6 = carCreate("张六", "沪A70735");
         Car car7 = carCreate("张七", "沪A70736");
         Car car8 = carCreate("张八", "沪A70737");
         Car car9 = carCreate("张九", "沪A70738");
         Car car10 = carCreate("张十", "沪A70739");
         Car car11 = carCreate("张十一", "沪A70740");
        
         park.parking(car1.getVehicleNo());
            park.parking(car2.getVehicleNo());
            park.parking(car3.getVehicleNo());
            park.parking(car4.getVehicleNo());
            park.parking(car5.getVehicleNo());
            park.parking(car6.getVehicleNo());
            park.parking(car7.getVehicleNo());
            park.parking(car8.getVehicleNo());
            park.parking(car9.getVehicleNo());
            park.parking(car10.getVehicleNo());
            park.parking(car11.getVehicleNo());
            Assert.assertFalse(park.getParkingList().contains(car11.getVehicleNo()));
           
            park.takeTheCar(car7.getVehicleNo());
            park.parking(car11.getVehicleNo());
            Assert.assertTrue(park.getParkingList().contains(car11.getVehicleNo()));
     }
   
       @Test
       public void testTakeTheCar_simple () {
           Park park = new Park();
           park.setCapacity(10);
           Car car1 = carCreate("张一", "沪A70730");
           Car car2 = carCreate("张二", "沪A70731");
           Car car3 = carCreate("张三", "沪A70732");
           Car car4 = carCreate("张四", "沪A70733");
           Car car5 = carCreate("张五", "沪A70734");
           Car car6 = carCreate("张六", "沪A70735");
           Car car7 = carCreate("张七", "沪A70736");
           Car car8 = carCreate("张八", "沪A70737");
           park.parking(car1.getVehicleNo());
           park.parking(car2.getVehicleNo());
           park.parking(car3.getVehicleNo());
           park.parking(car4.getVehicleNo());
           park.parking(car5.getVehicleNo());
           park.parking(car6.getVehicleNo());
           park.parking(car7.getVehicleNo());
           park.parking(car8.getVehicleNo());
           park.takeTheCar(car5.getVehicleNo());

           Assert.assertEquals(7, park.getParkingList().size());
           Assert.assertFalse(park.getParkingList().contains(car5.getVehicleNo()));
       }
      
       @Test
       public void testTakeTheCar_complicate () {
           Park park = new Park();
           park.setCapacity(10);
           Car car1 = carCreate("张一", "沪A70730");
           Car car2 = carCreate("张二", "沪A70731");
           Car car3 = carCreate("张三", "沪A70732");
           Car car4 = carCreate("张四", "沪A70733");
           Car car5 = carCreate("张五", "沪A70734");
           Car car6 = carCreate("张六", "沪A70735");
           Car car7 = carCreate("张七", "沪A70736");
           Car car8 = carCreate("张八", "沪A70737");
           Car car9 = carCreate("张九", "沪A70738");
           Car car10 = carCreate("张十", "沪A70739");
           Car car11 = carCreate("张十一", "沪A70740");
           park.parking(car1.getVehicleNo());
           park.parking(car2.getVehicleNo());
           park.parking(car3.getVehicleNo());
           park.parking(car4.getVehicleNo());
           park.parking(car5.getVehicleNo());
           park.parking(car6.getVehicleNo());
           park.parking(car7.getVehicleNo());
           park.parking(car8.getVehicleNo());
          
           park.takeTheCar(car5.getVehicleNo());
          
           park.parking(car5.getVehicleNo());
           park.parking(car9.getVehicleNo());
           park.parking(car10.getVehicleNo());
           park.parking(car11.getVehicleNo());
          
           Assert.assertFalse(park.getParkingList().contains(car11.getVehicleNo()));
          
           park.takeTheCar(car7.getVehicleNo());
           park.parking(car11.getVehicleNo());
          
           park.takeTheCar(car6.getVehicleNo());
           park.takeTheCar(car5.getVehicleNo());

           Assert.assertTrue(park.getParkingList().contains(car11.getVehicleNo()));
          
           Assert.assertEquals(8, park.getParkingList().size());
           Assert.assertFalse(park.getParkingList().contains(car5.getVehicleNo()));
           Assert.assertFalse(park.getParkingList().contains(car6.getVehicleNo()));
           Assert.assertFalse(park.getParkingList().contains(car7.getVehicleNo()));
       }

 private Car carCreate(String owner, String vehicleNo) {
  Car car1 = new Car();
  car1.setOwner(owner );
  car1.setVehicleNo(vehicleNo );
  return car1;
 }

}

 

 

package practice;

import java.util.ArrayList;
import java.util.List;

public class Park {
 
 private int capacity;
 
 private List<String> parkingList = new ArrayList();
 
 public List<String> getParkingList() {
  return parkingList;
 }

 public void parking(String vehicleNo){
  if (parkingList.size() >= this.capacity) {
   System.out.println("停车场已满,请稍等或者到别处停车");
   return;
  }
  this.parkingList.add(vehicleNo);
 }
 
 // 取车
 public void takeTheCar(String vehicleNo) {
  this.parkingList.remove(vehicleNo); 
 }
 
 public void setCapacity(int capacity) {
  this.capacity = capacity;
 }

 public int getCapacity() {
  return capacity;
 }

}


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值