오늘도 행복하다.
HOME
TAG
MEDIA
LOCATION
GUEST
ADMIN
WRITE
Category
분류 전체보기
(1012)
행복이야기
(24)
日常茶飯事
(601)
雜동사니
(285)
로그
(1)
ㅈㅇ.삭제.메모
(0)
산행->이동
(0)
野生野死
(38)
꺼리
(0)
업무
(1)
미완
(0)
운전, 車
(0)
상단, 공지, 계속
(0)
캠핑, 야영, 바깥놀이
(1)
eToy
(0)
Recent Article
Recent comment
My Link
지원이랑
Notice
Tag Cloud
Tomcat
영어
자료
테스트@
YBD 프로젝트
NTC 프로젝트
grails
아키공부@
Subversion
WSP 프로젝트
QPA2018 프로젝트
정리필요
PHT 프로젝트
야구
여의도
山行
sap
wsp나중에
Enterprise Portal
노숙일지
1
IKP 프로젝트
쇼핑
아웃도어 장비
[비교]
9
갈거야
먹거리
YNP 프로젝트
Eclipse
Calender
«
2025/02
»
일
월
화
수
목
금
토
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Archive
이상한 논리 로직
日常茶飯事
2010. 5. 25. 18:21
Posted by
pantarei
이상한 논리 로직
public class RegisterTest { @Test public void testNull(){ //값이 없으므로 등록 가능 assertThat(canRegister(null), is(true)); } @Test public void testEmptyString(){ //값이 없으므로 등록 가능 assertThat(canRegister(""), is(true)); } @Test public void testString(){ //값이 있으므로 등록 불가 assertThat(canRegister("blah blah"), is(false)); } //값이 있으면 등록할 수 없다. private boolean canRegister(String s){ ... } }
- 테스트 통과
private boolean canRegister(String s){ if(s == null || "".equals(s)){ return true; } return false; }
- 반대로 해도 테스트 통과
private boolean canRegister(String s){ if(s != null && !"".equals(s)){ return false; } return true; }
- 이상한 로직, 테스트 실패
private boolean canRegister(String s){ if(s != null || !"".equals(s)){ return true; } return false; }
- 반대로 해도 테스트 실패
private boolean canRegister(String s){ if(s == null && "".equals(s)){ return false; } return true; }
이 경우는 말이 안된다. null 이면서 "" 일 수는 없다.
논리 로직이 복잡할 때는 반대로 뒤집어서 생각해 본다.
이상한 로직을 처음 봤을 때, &&를 ||로 잘못 넣은 것인줄 알았다.
공유하기
게시글 관리
오늘도 행복하다.
저작자표시
비영리
변경금지
티스토리툴바
Recent comment