Skip to content

add Path.notToBeWritable #1001

@robstoll

Description

@robstoll

Platform (all, jvm, js): jvm
Extension (none, kotlin 1.3): none

Code related feature

expect(path).notToBeWritable()

//instead of

expect(path).feature { f(it::isWriteable) }.toEqual(false)

Following the things you need to do:

logic

  • extend PathAssertions with a function isNotWritable (see PathAssertions as a guideline)
  • implement isNotWritable in DefaultPathAssertions.kt by using the ExpectImpl.feature.extractor...
  • run ./gradlew generateLogic which will update path.kt in logic

api-fluent

  • provide a function notToBeWritable which returns Expect<T> in pathExpectations.kt (see pathExpectations.kt toBeWritable as a guideline)
  • add a sample to PathExpectationSamples and link from the api function with @sample
  • add @since 0.17.0 (adapt to current milestone) to KDOC
  • extend or write a separate Spec named PathExpectationsSpec in specs-common (see for instance PathExpectationsSpec) and extend it in atrium-api-fluent-en_GB-common/src/test

api-infix

  • provide a function notToBe writable which returns Expect<T> in pathExpectations.kt (see pathExpectations.kt toBeReadable as a guideline)
  • add a sample to PathExpectationSamples (might be you need to create this class) and link from the api function with @sample
  • add @since 0.17.0 (adapt to current milestone) to KDOC
  • extend or write a separate Spec named PathExpectationsSpec in specs-common (see for instance PathExpectationsSpec) and extend it in atrium-api-infix-en_GB-common/src/test

Your first contribution?

  • Write a comment I'll work on this if you would like to take this issue over.
    This way we get the chance to revise the description in case things have changed in the meantime, we might give you additional hints and we can assign the task to you, so that others do not start as well.
  • See Your first code contribution for guidelines.
  • Do not hesitate to ask questions here or to contact us via Atrium's slack channel if you need help
    (Invite yourself in case you do not have an account yet).

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions