New issue 50 by Paul.King.ASERT: Instinct-core should either not have a
mandatory requirement on fj or should list it as mandatory dependency in
the pom
http://code.google.com/p/instinct/issues/detail?id=50
What steps will reproduce the problem?
Run this project:
import com.googlecode.instinct.integrate.junit4.InstinctRunner
import com.googlecode.instinct.marker.annotate.*
import org.junit.runner.RunWith
@Grab(group='com.googlecode.instinct', module='instinct-core',
version='0.1.9')
@RunWith(InstinctRunner.class)
public final class AWinningGame {
@Subject private game
Dice winningDice
@BeforeSpecification
void setUp() {
winningDice = new RiggedDice(6)
game = new Game(d1: winningDice, d2: winningDice)
}
@Specification
void mustWinWhenBothDiceReturnSix() {
println d.play() == 'win'
}
}
interface Dice { def roll() }
class RiggedDice implements Dice {
def value
def roll() {
value
}
}
class Game {
def d1, d2
def play() {
def result = (d1.roll() == 6 & d2.roll() == 6)
result ? "win" : "lose"
}
}
What is the expected output?
Test passes.
What do you see instead?
JUnit 4 Runner, Tests: 1, Failures: 1, Time: 5
Test Failure: initializationError(AWinningGame)
java.lang.NoClassDefFoundError: fj/Effect
What version of the product are you using? On what operating system?
Instinct-core 0.1.9, Vista, Groovy 1.6.3 with JUnit 4.6, Java 1.6.0_13
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
This works but fj dependency should not be visible at this level:
import com.googlecode.instinct.integrate.junit4.InstinctRunner
import com.googlecode.instinct.marker.annotate.*
import org.junit.runner.RunWith
@Grapes([
@Grab(group='com.googlecode.instinct', module='instinct-core',
version='0.1.9'),
@Grab(group='org.functionaljava', module='fj', version='2.19')
])
@RunWith(InstinctRunner.class)
public final class AWinningGame {
@Subject private game
Dice winningDice
@BeforeSpecification
void setUp() {
winningDice = new RiggedDice(value: 6)
game = new Game(d1: winningDice, d2: winningDice)
}
@Specification
void mustWinWhenBothDiceReturnSix() {
println game.play() == 'win'
}
}
interface Dice { def roll() }
class RiggedDice implements Dice {
def value
def roll() {
value
}
}
class Game {
def d1, d2
def play() {
def result = (d1.roll() == 6 & d2.roll() == 6)
result ? "win" : "lose"
}
}
Comment #2 on issue 50 by jem.mawson: Instinct-core should either not have
a mandatory requirement on fj or should list it as mandatory dependency in
the pom
http://code.google.com/p/instinct/issues/detail?id=50
instinct-core 0.1.9 did not declare it's dependency on FJ.
instinct-core 0.2.0 does, but the repository is no longer valid.