// bad describe("MomentJS", () => { // date boundary를 ☹️한 데 모아😡 처리함. it("handles date boundaries", () => { let date;
date = new MomentJS("1/1/2015"); date.addDays(30); assert.equal("1/31/2015", date);
date = new MomentJS("2/1/2016"); date.addDays(28); assert.equal("02/29/2016", date);
date = new MomentJS("2/1/2015"); date.addDays(28); assert.equal("03/01/2015", date); }); });
// good describe("MomentJS", () => { // date boundary handler를 😄여러 조건으로 나누어🤩 정의함. // 30일을 가진 month 의 경우 it("handles 30-day months", () => { const date = new MomentJS("1/1/2015"); date.addDays(30); assert.equal("1/31/2015", date); });
// 윤년의 경우 it("handles leap year", () => { const date = new MomentJS("2/1/2016"); date.addDays(28); assert.equal("02/29/2016", date); });
// 그 외, 31일을 가진 month && 윤년이 아닌 경우 it("handles non-leap year", () => { const date = new MomentJS("2/1/2015"); date.addDays(28); assert.equal("03/01/2015", date); }); });