Coder Social home page Coder Social logo

atdd-subway-fare's Introduction

지하철 노선도 미션

ATDD 강의 실습을 위한 지하철 노선도 애플리케이션

#Step3 TODO List

  • 인수 테스트 수정
    • 노선 추가 요금 부과
    • 로그인 사용자의 연령별 할일
  • 문서 수정
  • 요금 정책 추가
    • 추가요금 : 노선별 추가 요금 필드 추가하기
    • 요금 : 여러 노선들을 이용한 경우 가장 높은 추가 요금만 적용
    • 로그인 사용자의 경우 연령별 요금으로 계산
      • 6세이상 ~ 13세미만 : 350원 공제 후 50%할인
      • 13세이상 ~ 19세미만 : 350원 공제 후 20%할인
  • 인수 테스트 변경 -> 문서화 변경 -> 기능 구현 순으로 진행하세요.
  • 커밋 단위를 작게 하기

#Step2 PR 수정 TODO List

  • 요금 구하는 과정 리팩터링 해보가
  • document 만들때 실제 객체 사용에 대한 고민

#Step2 TODO List

  • 요금 정보 조회
    • 인수 조건 도출
    • 인수 테스트 작성
    • 경로 조회시 요금 정보 반환 기능 구현
  • 인수 테스트 (수정) -> 문서화 -> 기능 구현 순으로 진행하세요
  • 커밋 단위를 작게 하기
  • 지하철 운임은 거리비례제로 책정하기 (실제 경로가 아닌 최단거리 기준)

#Step2 - 인수 조건

Feature: 지하철 경로 검색시 요금과 함께 응답하기 

  Scenario: 두 역의 최단 거리 경로를 조회
    Given 지하철역이 등록되어있음
    And 지하철 노선이 등록되어있음
    And 지하철 노선에 지하철역이 등록되어있음
    When 출발역에서 도착역까지의 최단 거리 경로 조회를 요청
    Then 최단 거리 경로를 응답
    And 총 거리와 소요 시간을 함께 응답함
    And 지하철 이용 요금도 함께 응답함

#Step1 PR 수정 TODO List

  • PathAcceptanceTest 에서 환승, 반대 방향의 경우도 테스트 작성
  • document(), requestParameters(), responseFields() 메서드로 분리하기
  • LineTest의 given절, duration 인자 중복 제거
  • Sections 기간에 대한 단위 테스트 추가

#Step1 TODO List

  • 경로 조회 시 최소 시간 기준으로 조회되도록 구현
  • 노선추가 & 구간 추가 시 거리와 함께 소요시간 정보 추가하기.
  • 인수 테스트 (수정) -> 문서화 -> 기능 구현 순으로 진행하세요.
  • 커밋 단위를 작게 하기

#Step1 - 인수 조건

Feature: 지하철 경로 검색

  Scenario: 두 역의 최소 시간 경로를 조회
    Given 지하철역이 등록되어있음
    And 지하철 노선이 등록되어있음
    And 지하철 노선에 지하철역이 등록되어있음
    When 출발역에서 도착역까지의 최소 시간 기준으로 경로 조회를 요청
    Then 최소 시간 기준 경로를 응답
    And 총 거리와 소요 시간을 함께 응답함

atdd-subway-fare's People

Contributors

boorownie avatar zbqmgldjfh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.