robfletcher
05/16/2018, 6:27 PMraniejade
05/17/2018, 3:39 AMgregopet
05/17/2018, 5:56 AMraniejade
07/25/2018, 11:45 PM2.0.0-alpha.1
right?robfletcher
08/22/2018, 4:33 PMchristophsturm
09/06/2018, 11:17 AMchristophsturm
09/13/2018, 5:53 PMrobfletcher
10/02/2018, 12:22 AMf
)robfletcher
10/07/2018, 12:19 AMchristophsturm
10/09/2018, 2:39 PMexpectThat("blah").isA<String>()
?Casey Brooks
10/16/2018, 6:20 PMrobfletcher
10/24/2018, 5:06 PMsandjelkovic
10/26/2018, 8:33 AMrobfletcher
11/06/2018, 5:22 AMmkobit
11/26/2018, 4:38 PMOption<T>
where it is either a Some
or None
type, what is the best way to rite those?
for example, would it be better to have something like
fun Assertion.Builder<Option<T>>.isSome(asserts: Assertion.Builder<T>.() -> Unit)
or is there a better way to "chain" it where it short circuits the following assertions if it a None
?
fun Assertion.Builder<Option<T>>.isSome(): Assertion.Builder<T>
dave08
11/28/2018, 12:16 PMinline fun <reified R> Assertion.Builder<Iterable<*>>.filterIsInstance(): DescribeableBuilder<List<R>> =
get { filterIsInstance<R>() }
?dave08
11/28/2018, 5:39 PMexpectThat(catching { ... }).isNull()
, if it throws, it doesn't print the exceptions message... in my case: ▼ Expect that com.squareup.moshi.JsonDataException:
✗ is null
which doesn't help too much to identify the source of the problem.robfletcher
12/01/2018, 8:28 PMorchidServe
task the images all get 404smkobit
12/03/2018, 4:22 PMFile
and Path
that im hoping to open an MR to strikt
with, and seeing a few patterns emerge that im hoping to get some early feedback before working through it too much.
1. for certain "getter" style evaluation, is it better to expose as a property or function?
val <T : Path> Builder<T>.fileName: Builder<Path>
versus
fun <T : Path> Builder<T>.fileName(): Builder<Path>
2. for "boolean" style testing, like "is this readable", what is the desired API to expose?
val <T : Path> Builder<T>.isHidden: Builder<Boolean>
or
// assert(...)
fun <T : Path> Builder<T>.isHidden(): Builder<T>
fun <T : Path> Builder<T>.isNotHidden(): Builder<T>
(this gets a bit more complicated with checks like exists
because the underlying API accepting varargs of LinkOption
)
3. for assertion style things, is it best to offer multiple APIs for inversions and other possible
for example:
fun <T : Path> Builder<T>.startsWith(other: String): Builder<T>
fun <T : Path> Builder<T>.doesNotStartWith(other: String): Builder<T>
or is there an opportunity to add something for consumers like an doesNot { startsWith(other) }
to reduce API surface?christophsturm
12/08/2018, 11:10 AMchristophsturm
12/12/2018, 7:10 PMchristophsturm
02/18/2019, 3:12 PMrobfletcher
04/17/2019, 5:29 PMstrikt-gradle
is in jcenter nowrobfletcher
05/15/2019, 7:15 PMsandjelkovic
05/16/2019, 8:13 AMmkobit
05/16/2019, 6:49 PMval hpi = condition<String>(".hpi extension") { it.endsWith("@hpi") }
val jpi = condition<String>(".jpi extension") { it.endsWith("@jpi") }
val war = condition<String>(".war extension") { it.endsWith("@war") }
val jenkinsWar = condition<String>("Jenkins WAR group and module") { it.contains("org.jenkins-ci.main:jenkins-war") }
assertThat(line)
.has(anyOf(allOf(war, jenkinsWar), hpi, jpi))
where condition
is a helper to create https://joel-costigliola.github.io/assertj/core-8/api/org/assertj/core/api/Condition.html
is there anything comparable in strikt
yet to accomplish the anyOf
and allOf
style composition above?mkobit
05/16/2019, 7:26 PMwithFailMessage
- https://joel-costigliola.github.io/assertj/core-8/api/org/assertj/core/api/AbstractAssert.html#withFailMessage-java.lang.String-java.lang.Object...- ?mkobit
06/17/2019, 9:11 PMstrikt-protobuf
intended to have APIs for both gRPC and protobuf, or only protobuf types?
i'm wondering if it makes sense to add another strikt-grpc
or to shove it into strikt-protobuf
?christophsturm
07/18/2019, 4:09 PMchristophsturm
10/17/2019, 11:13 AMchristophsturm
10/17/2019, 11:13 AMsegunfamisa
10/17/2019, 11:30 AMchristophsturm
10/17/2019, 11:49 AMrobfletcher
10/17/2019, 1:05 PMchristophsturm
10/17/2019, 2:17 PMrobfletcher
10/17/2019, 4:25 PM