|
|
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
стандартный пример в docs прилагающихся к Junit тесты стал разбират никак не могу понять почему заглушка return true не работает для Assert.assertEquals(m12CHF,new Money(12,"CHF")); пишет сообщение что ожидался объект Money с адресом тттт а вместо этого стоит объект Money с др адресом т.... Вот не могу никак понять хоть тресни если использоваьть как дано в примеере instanceof то работает а если просто возвращать true то нет. Зачем он ожидает должен же просто выполнить equals ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:59 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
llemingстандартный пример в docs прилагающихся к Junit тесты стал разбират никак не могу понять почему заглушка return true не работает для Assert.assertEquals(m12CHF,new Money(12,"CHF")); пишет сообщение что ожидался объект Money с адресом тттт а вместо этого стоит объект Money с др адресом т.... Вот не могу никак понять хоть тресни если использоваьть как дано в примеере instanceof то работает а если просто возвращать true то нет. Зачем он ожидает должен же просто выполнить equals они же по ссылке сравниваются а не по значению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:05 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
если мани использует equals от Object - то все правильно, там ссылки проверяются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:06 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
Если сравниваются по ссылке то ссылки должны быть одинаковые ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:16 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
да должны указывать на один и тот же объект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:18 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
public boolean equals(Object anObject) { if (anObject instanceof Money) { Money aMoney= (Money)anObject; return aMoney.currency().equals(currency()) && amount() == aMoney.amount(); } return false; } это оигинал который работает Assert.assertEquals(m12CHF,new Money(12,"CHF")); оба объекта Money и m12CHF и new Money(12,"CHF") если метод equals переделать под моней public boolean equals(Money anObject){ if(true){ // все равно гарантировано оба объекта Money Money a=anObject; eturn aMoney.currency().equals(currency()) && amount() == aMoney.amount(); } } и все перестает работать . Где логика где разум? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:19 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
песец, оформи код тегами, я нифига не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:22 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
а, я понял у Object нет метода equals(Money anObject) есть equals(Object anObject) ты не переопределил, ты создал новый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:23 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
Pitbull terrierа, я понял у Object нет метода equals(Money anObject) есть equals(Object anObject) ты не переопределил, ты создал новый плин спасибо агромадное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:35 |
|
||
|
junit проблема
|
|||
|---|---|---|---|
|
#18+
а тоя начал катать Money m0=new Money(12,"CHF"); Money m1=new Money(12,"CHF"); Assert.assertEquals(null, m0, m1) { if (m0== null && m1 == null) // выраженин внутри if ,not null, так как оба объекта not null return; if (m0 != null && m0.equals(m1)) // Здесь он вызывает метод equals который я по идее переопределил и где сравниваца тоже по идее должны лишь значения их полей amount а они равны у обоих объектов 12 ти и валюта как видно одинаковая тогда почему m0.equals(m1)дает false return; failNotEquals(null, m0, m1); } а здеся правильно работает public static void main(String[] args){ Money m0=new Money(12,"CHF"); Money m1=new Money(12,"CHF"); System.out.println(m0.equals(m1)); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2148927]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 412ms |

| 0 / 0 |
