
Михаил
11.08.2017
12:53:11
щас и без него все ок)

Vadim
11.08.2017
12:53:19
ок - подумаю еще + это попробую
ну да, файлик создал и в перед!)

Igor
11.08.2017
12:54:07
Что-же, я достиг чего хотел, всем спасибо ?

Google

Михаил
11.08.2017
12:54:18
testCompile "org.mockito:mockito-inline:$MOCKITO" вместо стандартного мокито и без файлика жизнь

Vadim
11.08.2017
12:54:56
https://antonioleiva.com/mockito-2-kotlin/
аа
ничеси
ок - спасибо, заценю)

? animufag ?
11.08.2017
12:57:06
я, может, ничего не понимаю в ООП, но зачем мокать поля?
ну бывают методы без возвращаемого результата, где вся их работа заключается в изменении стейта объекта. обычная императивщина
тестировать это как-то надо, так что мокаешь поле и проверяешь изменялось ли так как ты хотел. это предположение, но думаю так делают и тесты получаются совсем негибкие и получается соответствие с реализацией метода

Quantum Harmonizer
11.08.2017
12:57:46

? animufag ?
11.08.2017
12:58:12
2й день не набрать 1к

Quantum Harmonizer
11.08.2017
12:58:36
да ?

Konstantine
11.08.2017
12:59:00
Хм, у меня написано 1000 мемберсов уже несколько дней)

Vadim
11.08.2017
13:01:43

Google

Vadim
11.08.2017
13:01:48
вот примерчик
private val dog: Dog = Dog()
private val street: Street = Street()
fun doDogCurrentAction(){
if(streen.isEmpty){
dog.bark()
}else{
dog.sleep()
}
}
ну и мокаешь собаку с улицей и смотришь правильно ли работает
вызвался ли нужный метод у собаки в зависимости от состояния улицы

Михаил
11.08.2017
13:04:31
Для моканья полей можно использовать конструктор с передачей туда нужных полей. Над конструктором ставишь аннотацию @VisibleForTesting. С джавой это работало, с котлином - хз

Vadim
11.08.2017
13:05:05
да там проблема в val/var
если собака с улицей изменяемые - тесты проходят

Quantum Harmonizer
11.08.2017
13:05:38

Vadim
11.08.2017
13:05:58
иначе пишет что нужный метод не вызвался

Михаил
11.08.2017
13:09:50
возможно, стоит сделать 2 конструктора, в одном - норм значение полей, в другом - значение приходит с теста

Vadim
11.08.2017
13:11:33
хм - ну впринципе да, как вариант. Но не хотелось бы городить что-то лишнее только ради тестов
думаю пока var оставлю - дальше ее подумаю)

Михаил
11.08.2017
13:14:46
можно сделать один конструткор но с дефолтными параметрами

Антон
11.08.2017
13:19:50
Так а кто тысячный участник?

Quantum Harmonizer
11.08.2017
13:20:06

Михаил
11.08.2017
13:20:23
и все в бане

Timur
11.08.2017
13:20:30
а кто тот незабаненный счастливчик?

Антон
11.08.2017
13:21:25
и все в бане
У меня до сих пор показывает 1к members, значит не все в бане

Михаил
11.08.2017
13:21:31

Google

Михаил
11.08.2017
13:21:48

Vadim
11.08.2017
13:25:05
где мой приз?)О_о

Anton
11.08.2017
13:25:38
уверен что хочешь приз?

Vadim
11.08.2017
13:25:59
хм, если это бан - то нет)

Anton
11.08.2017
13:26:14
)

Timur
11.08.2017
13:26:18
но выбора у тебя нет

? animufag ?
11.08.2017
13:27:24

Vadim
11.08.2017
13:29:57
хм - не очень понял как это применить к моей задаче (пример выше), но а так да - подумать можно
если метод менят объект и отдает его назад - то тогда понятно
а с замоканым объектом все равно ведь можно проверить тольк вызов метода, который должен поменять его состояние
само состояние же не меняется

Vadim
11.08.2017
13:32:24

You
11.08.2017
13:46:01
7!
ух ты
количество участников, переведенное в десятеричную систему больше количества админов на количество единиц в двоичном его представлении

Va
11.08.2017
14:25:22
чатом ошиблись...

Boris
11.08.2017
14:25:34
чем больше народу тем больше спама

DarkMentat
11.08.2017
14:25:39
жаль, что он не тысячный

Denis
11.08.2017
14:25:53
Гоните его, насмехайтесь над ним

Google

Михаил
11.08.2017
14:27:48

You
11.08.2017
14:28:19
блин

Михаил
11.08.2017
14:35:58
А вообще через рефлекшн вполне можно private val в рантайме менять

Михаил
11.08.2017
14:57:57
Подскажите, пожалуйста, можно каким-то образом решить проблему Kotlin not configured на тулбаре, где можно подтвердить gradle build и sync now, Интернета сейчас нету на ПК, все библиотеки Kotlin добавлены

Михаил
11.08.2017
15:02:20
Значит не все добавлено)

Admin
ERROR: S client not available

Михаил
11.08.2017
15:03:38

Михаил
11.08.2017
15:18:48

Михаил
11.08.2017
15:19:47

Михаил
11.08.2017
15:20:24

Михаил
11.08.2017
15:20:44
У меня не работало. Изи вызывается
Мб в котлине дело

Pavel
11.08.2017
15:32:54
Объясните пожалуйста, почему условие никогда не выполняется?
http://simplecat.tk/shots/shot-170811-183145-538325.png
Следующий степ - переход на return false.Return true никогда не вызывается, хотя и там и там 275.

? animufag ?
11.08.2017
15:37:43
return getGeneralTags().contains(tag.id!!.toint)
а вообще самому интересно

DivelNick
11.08.2017
15:42:13
Мб дело не в этом, но попробуй логи раскидать, у меня было 2 раз что отладчик моросил, мимо return проходил

Va
11.08.2017
15:42:42
пользуйтесь evaluate чтобы убедиться

Pavel
11.08.2017
15:49:18
А return внутри forEach { } куда возвращает значение?

Google

Pavel
11.08.2017
15:49:45
Наверное там и return true и return false выполняются?

? animufag ?
11.08.2017
15:50:45
ну если бы он возвращал внутри лямбды, то была бы ошибка мол юнит это тебе не булеан

Pavel
11.08.2017
15:55:26
Логично, но с другой стороны return в лямбде должен возвращать в лямбду.

? animufag ?
11.08.2017
15:57:51
нууу на самом деле в лямбде просто нет ретурна
может не всегда верное утверждение
но такое поведение есть. возвращается из лямбды только последнее выражение

Михаил
11.08.2017
16:04:13

Pavel
11.08.2017
16:11:15
Попробовал сделать с contains - не помогло. Судя по всему, проблема с разностью типов. Evaluate говорит, что tags - это List<Double> и сравнивания с Int он возвращает false. Но с чего он вдруг стал List<Double> если в функции явный каст в List<Int>?
http://simplecat.tk/shots/shot-170811-190943-183643.png

? animufag ?
11.08.2017
16:23:01
странно что в типе список интов, в консоли он их пишет с 276.0

Pavel
11.08.2017
16:36:41
Добавил создание второго массива, с копированием каждого значения, и явным кастом его в Int. Помогло. Почему оно не кастуется в оригинале - хз =\

? animufag ?
11.08.2017
16:37:37
ну в общем да

Quantum Harmonizer
11.08.2017
16:37:43

? animufag ?
11.08.2017
16:37:55
я смог сделать минимальный воспроизводимый пример
странно что нет никаких предупреждений

Pavel
11.08.2017
16:38:11
А как сварить из этого checked cast?

Quantum Harmonizer
11.08.2017
16:38:16

? animufag ?
11.08.2017
16:38:20
ни в компиляции ни в рантайме

Quantum Harmonizer
11.08.2017
16:38:32