오늘은 드디어 테스트를 작성하는 날로
a, b org에 들어가는 테스트를 작성하고
시간이 남을 경우 pmd도 설치한 다음 pmd도 잡아둘 예정이다.
필터, 정렬 기능등도 추가하고 싶고 org3개 생성도 있지만
해당 기능은 완성 후 복붙 느낌으로 추가하기 때문에
org 하나당 2시간도 안걸릴 것 같고
필터, 정렬은 메서드 수정이 필요하기 때문에
중간에 막힐 것을 대비해 일차적 완료 상태 후 진행하기로 했다.
A org 먼저 테스트를 진행하는데 params를 제대로 입력할 수 없어 한참 시간이 걸렸다.
URI부분에 pamas를 넣는 방식으로 했었기 때문에
/?ids=idA,idB 형태로 주소를 넣어줬지만 null이 출력되어 일반 값을 받아오게 되었고
하나의 메서드 내부에 if문으로 분기했기 때문인지 두개로 나누기 애매해서
하나로 테스트를 하려고 했지만 startTest가 하나의 테스트메서드 내에 두개가 존재해서는 안되는 것 같았다.
어찌저찌 addParameter라는 메서드를 발견해 진행할 수는 있었지만
검색해서 나오는 대부분이 서로 다른 주장을 펼치고 있고
각자 된다고 하는 것을 보면 버전이 바뀔 때마다 메서드도 변하는건지
왜 저 답변이 채택된 상태로 존재하는지 이해가 되지 않았다.
스케쥴쪽을 진행하는 것은 쉽다고 생각했지만 생각하지 못한 부분에서 문제가 발생했는데
mock을 사용해서 진행하지 않으면 호출이 되지 않았고
해당 mock에서는 dml을 사용해야 제대로 된 반응을 보냈기 때문에
dml을 사용하는 mock을 만들어야 했지만 제대로 진행되지 않았기 때문에
html mock을 사용해서 대충 mock만 덮어씌우고
테스트 커버리지는 100%를 달성했지만
많이 찝찝한 상태로 마무리했다.
(1).백준 5692번 팩토리얼 진법은 말 같지도 않은 문제였는데
본인만의 숫자 계산 방식으로 각 자릿수의 팩토리얼을 해당 자리에 있는 숫자와 곱한 합이
본인만의 팩토리얼 진법수라는 말도 안되는 주장을 하는 문제였다.
그냥 그런 규칙을 가지고 있다는 것도 아니고 719는 53이 되는데
719가 아닌 숫자들도 53이 될 수 있기 때문에 일방적으로만 교환되서 이걸 왜 이렇게 하는지 답답헀다.
어쨌건 문제에서 요구하는대로 각 자릿수의 팩토리얼 숫자와 해당 숫자를 곱한 합을 출력했다.
const input = `719
1
15
110
102
0`.split('\n')
const factorial = [0,1,2,6,24,120]
const result = []
for(let i = 0 ; i < input.length-1 ; i++){
const length = input[i].length
const arr = input[i].split('').map(Number)
let sum = 0
for(let j = 0 ; j < length ; j++){
sum += arr[j] * factorial[length-j]
}
result.push(sum)
}
console.log(result.join('\n'))