오늘도 행복하다.
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
QPA2018 프로젝트
山行
야구
갈거야
WSP 프로젝트
Enterprise Portal
Subversion
자료
PHT 프로젝트
grails
wsp나중에
YNP 프로젝트
sap
Windows
쇼핑
먹거리
테스트@
아키공부@
여의도
[비교]
NTC 프로젝트
1
YBD 프로젝트
Eclipse
노숙일지
Tomcat
영어
9
IKP 프로젝트
정리필요
Calender
«
2025/01
»
일
월
화
수
목
금
토
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
29
30
31
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