Sha256: f3688c233a755d6a1909a27fd907b3b86a6a0fde672e45c8da725cbd8c7eafe3
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
FancySpec describe: Class Contracts with: { it: "fails inclusion" when: { { class A { include: Fancy Enumerable } } raises: Class Contracts InterfaceNotImplementedError } it: "doesn't fail inclusion" when: { { class A { def each: block include: Fancy Enumerable } } does_not raise: Class Contracts InterfaceNotImplementedError { class B { provides_interface: 'each: include: Fancy Enumerable } } does_not raise: Class Contracts InterfaceNotImplementedError } it: "returns the amount of not implemented interface methods" with: 'missing_methods_for_interface: when: { class Interface { expects_interface_on_inclusion: ['hello, 'world] } { class C { include: Interface } } raises: Class Contracts InterfaceNotImplementedError with: @{ methods is: ['hello, 'world] interface is: Interface including_class is: C } { class D { def hello include: Interface } } raises: Class Contracts InterfaceNotImplementedError with: @{ methods is: ['world] interface is: Interface including_class is: D } } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fancy-0.10.0 | tests/contracts.fy |