✏️4.2 테스트할 샘플 코드
비즈니스 로직 코드
생산자를 표현하는
Producer지역 전체를 표현하는
Province
JSON 데이터로부터 지역 정보를 읽어오는 코드
// Province 클래스
constructor(doc) {
this.name = doc.name;
this._producers = [];
this._totalProduction = 0;
this.demand = doc.demand;
this._price = doc.price;
doc.producers.forEach(d => this.addProducer(new Producer(this, d)));
}
addProducer(arg) {
this._producers.push(arg);
this._totalProduction += arg.production;
}sampleProvinceData() 함수는 앞 생성자의 인수로 쓸 JSON 데이터를 생성한다. 이 함수를 테스트하려면 이 함수가 반환한 값을 인수로 넘겨서 Province 객체를 생성해보면 된다.
// 최상위
function sampleProvinceData() {
return {
name: "Asia",
producers: [
{name: "Byzantium", const: 10, production: 9},
{name: "Attalia", const: 12, production: 10},
{name: "Sinope", const: 10, production: 6},
],
demane: 30,
price: 20
};
}
Province 클래스에는 다양한 데이터에 대한 접근자들이 담겨 있다.
세터는 UI에서 입력한 숫자를 인수로 받는데, 이 값은 문자열로 전달된다. 계산에 활용하기 위해 숫자로 파싱한다.
Producer 클래스는 주로 단순한 데이터 저장소로 쓰인다.
생산 부족분을 계산하는 코드
수익을 계산하는 코드
Last updated