Rename + operator of VectorClock and Versioned to :+
* + is kind of reserved for string concatination
This commit is contained in:
parent
de1ad30217
commit
92cab53b1e
3 changed files with 95 additions and 95 deletions
|
|
@ -195,9 +195,9 @@ case class Gossip(
|
||||||
/**
|
/**
|
||||||
* Increments the version for this 'Node'.
|
* Increments the version for this 'Node'.
|
||||||
*/
|
*/
|
||||||
def +(node: VectorClock.Node): Gossip = copy(version = version + node)
|
def :+(node: VectorClock.Node): Gossip = copy(version = version :+ node)
|
||||||
|
|
||||||
def +(member: Member): Gossip = {
|
def :+(member: Member): Gossip = {
|
||||||
if (members contains member) this
|
if (members contains member) this
|
||||||
else this copy (members = members + member)
|
else this copy (members = members + member)
|
||||||
}
|
}
|
||||||
|
|
@ -424,7 +424,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
|
|
||||||
private val state = {
|
private val state = {
|
||||||
val member = Member(selfAddress, MemberStatus.Joining)
|
val member = Member(selfAddress, MemberStatus.Joining)
|
||||||
val versionedGossip = Gossip(members = Gossip.emptyMembers + member) + vclockNode // add me as member and update my vector clock
|
val versionedGossip = Gossip(members = Gossip.emptyMembers + member) :+ vclockNode // add me as member and update my vector clock
|
||||||
val seenVersionedGossip = versionedGossip seen selfAddress
|
val seenVersionedGossip = versionedGossip seen selfAddress
|
||||||
new AtomicReference[State](State(seenVersionedGossip))
|
new AtomicReference[State](State(seenVersionedGossip))
|
||||||
}
|
}
|
||||||
|
|
@ -658,7 +658,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
val newMembers = localMembers + Member(node, MemberStatus.Joining) // add joining node as Joining
|
val newMembers = localMembers + Member(node, MemberStatus.Joining) // add joining node as Joining
|
||||||
val newGossip = localGossip copy (overview = newOverview, members = newMembers)
|
val newGossip = localGossip copy (overview = newOverview, members = newMembers)
|
||||||
|
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
val seenVersionedGossip = versionedGossip seen selfAddress
|
val seenVersionedGossip = versionedGossip seen selfAddress
|
||||||
|
|
||||||
val newState = localState copy (latestGossip = seenVersionedGossip)
|
val newState = localState copy (latestGossip = seenVersionedGossip)
|
||||||
|
|
@ -686,7 +686,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
val newMembers = localMembers + Member(address, MemberStatus.Leaving) // mark node as LEAVING
|
val newMembers = localMembers + Member(address, MemberStatus.Leaving) // mark node as LEAVING
|
||||||
val newGossip = localGossip copy (members = newMembers)
|
val newGossip = localGossip copy (members = newMembers)
|
||||||
|
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
val seenVersionedGossip = versionedGossip seen selfAddress
|
val seenVersionedGossip = versionedGossip seen selfAddress
|
||||||
|
|
||||||
val newState = localState copy (latestGossip = seenVersionedGossip)
|
val newState = localState copy (latestGossip = seenVersionedGossip)
|
||||||
|
|
@ -772,7 +772,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
|
|
||||||
val newOverview = localOverview copy (seen = newSeen, unreachable = newUnreachablePlusNewlyDownedMembers) // update gossip overview
|
val newOverview = localOverview copy (seen = newSeen, unreachable = newUnreachablePlusNewlyDownedMembers) // update gossip overview
|
||||||
val newGossip = localGossip copy (overview = newOverview, members = newMembers) // update gossip
|
val newGossip = localGossip copy (overview = newOverview, members = newMembers) // update gossip
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
val newState = localState copy (latestGossip = versionedGossip seen selfAddress)
|
val newState = localState copy (latestGossip = versionedGossip seen selfAddress)
|
||||||
|
|
||||||
if (!state.compareAndSet(localState, newState)) downing(address) // recur if we fail the update
|
if (!state.compareAndSet(localState, newState)) downing(address) // recur if we fail the update
|
||||||
|
|
@ -793,7 +793,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
if (remoteGossip.version <> localGossip.version) {
|
if (remoteGossip.version <> localGossip.version) {
|
||||||
// concurrent
|
// concurrent
|
||||||
val mergedGossip = remoteGossip merge localGossip
|
val mergedGossip = remoteGossip merge localGossip
|
||||||
val versionedMergedGossip = mergedGossip + vclockNode
|
val versionedMergedGossip = mergedGossip :+ vclockNode
|
||||||
|
|
||||||
// FIXME change to debug log level, when failure detector is stable
|
// FIXME change to debug log level, when failure detector is stable
|
||||||
log.info(
|
log.info(
|
||||||
|
|
@ -855,7 +855,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
val newGossip = localGossip copy (members = newMembers)
|
val newGossip = localGossip copy (members = newMembers)
|
||||||
|
|
||||||
// version my changes
|
// version my changes
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
val seenVersionedGossip = versionedGossip seen selfAddress
|
val seenVersionedGossip = versionedGossip seen selfAddress
|
||||||
|
|
||||||
state copy (latestGossip = seenVersionedGossip)
|
state copy (latestGossip = seenVersionedGossip)
|
||||||
|
|
@ -992,7 +992,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
val newGossip = localGossip copy (overview = newOverview, members = newMembers)
|
val newGossip = localGossip copy (overview = newOverview, members = newMembers)
|
||||||
|
|
||||||
// updating vclock and 'seen' table
|
// updating vclock and 'seen' table
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
val seenVersionedGossip = versionedGossip seen selfAddress
|
val seenVersionedGossip = versionedGossip seen selfAddress
|
||||||
|
|
||||||
val newState = localState copy (latestGossip = seenVersionedGossip)
|
val newState = localState copy (latestGossip = seenVersionedGossip)
|
||||||
|
|
@ -1111,7 +1111,7 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
// ----------------------
|
// ----------------------
|
||||||
// 5. Updating the vclock version for the changes
|
// 5. Updating the vclock version for the changes
|
||||||
// ----------------------
|
// ----------------------
|
||||||
val versionedGossip = newGossip + vclockNode
|
val versionedGossip = newGossip :+ vclockNode
|
||||||
|
|
||||||
// ----------------------
|
// ----------------------
|
||||||
// 6. Updating the 'seen' table
|
// 6. Updating the 'seen' table
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class VectorClockException(message: String) extends AkkaException(message)
|
||||||
*/
|
*/
|
||||||
trait Versioned[T] {
|
trait Versioned[T] {
|
||||||
def version: VectorClock
|
def version: VectorClock
|
||||||
def +(node: VectorClock.Node): T
|
def :+(node: VectorClock.Node): T
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -142,7 +142,7 @@ case class VectorClock(
|
||||||
/**
|
/**
|
||||||
* Increment the version for the node passed as argument. Returns a new VectorClock.
|
* Increment the version for the node passed as argument. Returns a new VectorClock.
|
||||||
*/
|
*/
|
||||||
def +(node: Node): VectorClock = copy(versions = versions + (node -> Timestamp()))
|
def :+(node: Node): VectorClock = copy(versions = versions + (node -> Timestamp()))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if <code>this</code> and <code>that</code> are concurrent else false.
|
* Returns true if <code>this</code> and <code>that</code> are concurrent else false.
|
||||||
|
|
|
||||||
|
|
@ -27,67 +27,67 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
|
|
||||||
"pass misc comparison test 1" in {
|
"pass misc comparison test 1" in {
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("1")
|
val clock2_1 = clock1_1 :+ Node("1")
|
||||||
val clock3_1 = clock2_1 + Node("2")
|
val clock3_1 = clock2_1 :+ Node("2")
|
||||||
val clock4_1 = clock3_1 + Node("1")
|
val clock4_1 = clock3_1 :+ Node("1")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("1")
|
val clock2_2 = clock1_2 :+ Node("1")
|
||||||
val clock3_2 = clock2_2 + Node("2")
|
val clock3_2 = clock2_2 :+ Node("2")
|
||||||
val clock4_2 = clock3_2 + Node("1")
|
val clock4_2 = clock3_2 :+ Node("1")
|
||||||
|
|
||||||
clock4_1 <> clock4_2 must be(false)
|
clock4_1 <> clock4_2 must be(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 2" in {
|
"pass misc comparison test 2" in {
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("1")
|
val clock2_1 = clock1_1 :+ Node("1")
|
||||||
val clock3_1 = clock2_1 + Node("2")
|
val clock3_1 = clock2_1 :+ Node("2")
|
||||||
val clock4_1 = clock3_1 + Node("1")
|
val clock4_1 = clock3_1 :+ Node("1")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("1")
|
val clock2_2 = clock1_2 :+ Node("1")
|
||||||
val clock3_2 = clock2_2 + Node("2")
|
val clock3_2 = clock2_2 :+ Node("2")
|
||||||
val clock4_2 = clock3_2 + Node("1")
|
val clock4_2 = clock3_2 :+ Node("1")
|
||||||
val clock5_2 = clock4_2 + Node("3")
|
val clock5_2 = clock4_2 :+ Node("3")
|
||||||
|
|
||||||
clock4_1 < clock5_2 must be(true)
|
clock4_1 < clock5_2 must be(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 3" in {
|
"pass misc comparison test 3" in {
|
||||||
var clock1_1 = VectorClock()
|
var clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("1")
|
val clock2_1 = clock1_1 :+ Node("1")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("2")
|
val clock2_2 = clock1_2 :+ Node("2")
|
||||||
|
|
||||||
clock2_1 <> clock2_2 must be(true)
|
clock2_1 <> clock2_2 must be(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 4" in {
|
"pass misc comparison test 4" in {
|
||||||
val clock1_3 = VectorClock()
|
val clock1_3 = VectorClock()
|
||||||
val clock2_3 = clock1_3 + Node("1")
|
val clock2_3 = clock1_3 :+ Node("1")
|
||||||
val clock3_3 = clock2_3 + Node("2")
|
val clock3_3 = clock2_3 :+ Node("2")
|
||||||
val clock4_3 = clock3_3 + Node("1")
|
val clock4_3 = clock3_3 :+ Node("1")
|
||||||
|
|
||||||
val clock1_4 = VectorClock()
|
val clock1_4 = VectorClock()
|
||||||
val clock2_4 = clock1_4 + Node("1")
|
val clock2_4 = clock1_4 :+ Node("1")
|
||||||
val clock3_4 = clock2_4 + Node("1")
|
val clock3_4 = clock2_4 :+ Node("1")
|
||||||
val clock4_4 = clock3_4 + Node("3")
|
val clock4_4 = clock3_4 :+ Node("3")
|
||||||
|
|
||||||
clock4_3 <> clock4_4 must be(true)
|
clock4_3 <> clock4_4 must be(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 5" in {
|
"pass misc comparison test 5" in {
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("2")
|
val clock2_1 = clock1_1 :+ Node("2")
|
||||||
val clock3_1 = clock2_1 + Node("2")
|
val clock3_1 = clock2_1 :+ Node("2")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("1")
|
val clock2_2 = clock1_2 :+ Node("1")
|
||||||
val clock3_2 = clock2_2 + Node("2")
|
val clock3_2 = clock2_2 :+ Node("2")
|
||||||
val clock4_2 = clock3_2 + Node("2")
|
val clock4_2 = clock3_2 :+ Node("2")
|
||||||
val clock5_2 = clock4_2 + Node("3")
|
val clock5_2 = clock4_2 :+ Node("3")
|
||||||
|
|
||||||
clock3_1 < clock5_2 must be(true)
|
clock3_1 < clock5_2 must be(true)
|
||||||
clock5_2 > clock3_1 must be(true)
|
clock5_2 > clock3_1 must be(true)
|
||||||
|
|
@ -95,12 +95,12 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
|
|
||||||
"pass misc comparison test 6" in {
|
"pass misc comparison test 6" in {
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("1")
|
val clock2_1 = clock1_1 :+ Node("1")
|
||||||
val clock3_1 = clock2_1 + Node("2")
|
val clock3_1 = clock2_1 :+ Node("2")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("1")
|
val clock2_2 = clock1_2 :+ Node("1")
|
||||||
val clock3_2 = clock2_2 + Node("1")
|
val clock3_2 = clock2_2 :+ Node("1")
|
||||||
|
|
||||||
clock3_1 <> clock3_2 must be(true)
|
clock3_1 <> clock3_2 must be(true)
|
||||||
clock3_2 <> clock3_1 must be(true)
|
clock3_2 <> clock3_1 must be(true)
|
||||||
|
|
@ -108,14 +108,14 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
|
|
||||||
"pass misc comparison test 7" in {
|
"pass misc comparison test 7" in {
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + Node("1")
|
val clock2_1 = clock1_1 :+ Node("1")
|
||||||
val clock3_1 = clock2_1 + Node("2")
|
val clock3_1 = clock2_1 :+ Node("2")
|
||||||
val clock4_1 = clock3_1 + Node("2")
|
val clock4_1 = clock3_1 :+ Node("2")
|
||||||
val clock5_1 = clock4_1 + Node("3")
|
val clock5_1 = clock4_1 :+ Node("3")
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + Node("2")
|
val clock2_2 = clock1_2 :+ Node("2")
|
||||||
val clock3_2 = clock2_2 + Node("2")
|
val clock3_2 = clock2_2 :+ Node("2")
|
||||||
|
|
||||||
clock5_1 <> clock3_2 must be(true)
|
clock5_1 <> clock3_2 must be(true)
|
||||||
clock3_2 <> clock5_1 must be(true)
|
clock3_2 <> clock5_1 must be(true)
|
||||||
|
|
@ -127,14 +127,14 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
val node3 = Node("3")
|
val node3 = Node("3")
|
||||||
|
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + node1
|
val clock2_1 = clock1_1 :+ node1
|
||||||
val clock3_1 = clock2_1 + node2
|
val clock3_1 = clock2_1 :+ node2
|
||||||
val clock4_1 = clock3_1 + node2
|
val clock4_1 = clock3_1 :+ node2
|
||||||
val clock5_1 = clock4_1 + node3
|
val clock5_1 = clock4_1 :+ node3
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + node2
|
val clock2_2 = clock1_2 :+ node2
|
||||||
val clock3_2 = clock2_2 + node2
|
val clock3_2 = clock2_2 :+ node2
|
||||||
|
|
||||||
val merged1 = clock3_2 merge clock5_1
|
val merged1 = clock3_2 merge clock5_1
|
||||||
merged1.versions.size must be(3)
|
merged1.versions.size must be(3)
|
||||||
|
|
@ -164,14 +164,14 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
val node4 = Node("4")
|
val node4 = Node("4")
|
||||||
|
|
||||||
val clock1_1 = VectorClock()
|
val clock1_1 = VectorClock()
|
||||||
val clock2_1 = clock1_1 + node1
|
val clock2_1 = clock1_1 :+ node1
|
||||||
val clock3_1 = clock2_1 + node2
|
val clock3_1 = clock2_1 :+ node2
|
||||||
val clock4_1 = clock3_1 + node2
|
val clock4_1 = clock3_1 :+ node2
|
||||||
val clock5_1 = clock4_1 + node3
|
val clock5_1 = clock4_1 :+ node3
|
||||||
|
|
||||||
val clock1_2 = VectorClock()
|
val clock1_2 = VectorClock()
|
||||||
val clock2_2 = clock1_2 + node4
|
val clock2_2 = clock1_2 :+ node4
|
||||||
val clock3_2 = clock2_2 + node4
|
val clock3_2 = clock2_2 :+ node4
|
||||||
|
|
||||||
val merged1 = clock3_2 merge clock5_1
|
val merged1 = clock3_2 merge clock5_1
|
||||||
merged1.versions.size must be(4)
|
merged1.versions.size must be(4)
|
||||||
|
|
@ -204,8 +204,8 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
val v1 = VectorClock()
|
val v1 = VectorClock()
|
||||||
val v2 = VectorClock()
|
val v2 = VectorClock()
|
||||||
|
|
||||||
val vv1 = v1 + node1
|
val vv1 = v1 :+ node1
|
||||||
val vv2 = v2 + node2
|
val vv2 = v2 :+ node2
|
||||||
|
|
||||||
(vv1 > v1) must equal(true)
|
(vv1 > v1) must equal(true)
|
||||||
(vv2 > v2) must equal(true)
|
(vv2 > v2) must equal(true)
|
||||||
|
|
@ -225,12 +225,12 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
val a = VectorClock()
|
val a = VectorClock()
|
||||||
val b = VectorClock()
|
val b = VectorClock()
|
||||||
|
|
||||||
val a1 = a + node1
|
val a1 = a :+ node1
|
||||||
val b1 = b + node2
|
val b1 = b :+ node2
|
||||||
|
|
||||||
var a2 = a1 + node1
|
var a2 = a1 :+ node1
|
||||||
var c = a2.merge(b1)
|
var c = a2.merge(b1)
|
||||||
var c1 = c + node3
|
var c1 = c :+ node3
|
||||||
|
|
||||||
(c1 > a2) must equal(true)
|
(c1 > a2) must equal(true)
|
||||||
(c1 > b1) must equal(true)
|
(c1 > b1) must equal(true)
|
||||||
|
|
@ -239,7 +239,7 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
|
|
||||||
"An instance of Versioned" must {
|
"An instance of Versioned" must {
|
||||||
class TestVersioned(val version: VectorClock = VectorClock()) extends Versioned[TestVersioned] {
|
class TestVersioned(val version: VectorClock = VectorClock()) extends Versioned[TestVersioned] {
|
||||||
def +(node: Node): TestVersioned = new TestVersioned(version + node)
|
def :+(node: Node): TestVersioned = new TestVersioned(version :+ node)
|
||||||
}
|
}
|
||||||
|
|
||||||
import Versioned.latestVersionOf
|
import Versioned.latestVersionOf
|
||||||
|
|
@ -251,67 +251,67 @@ class VectorClockSpec extends AkkaSpec {
|
||||||
|
|
||||||
"happen before an identical versioned with a single additional event" in {
|
"happen before an identical versioned with a single additional event" in {
|
||||||
val versioned1_1 = new TestVersioned()
|
val versioned1_1 = new TestVersioned()
|
||||||
val versioned2_1 = versioned1_1 + Node("1")
|
val versioned2_1 = versioned1_1 :+ Node("1")
|
||||||
val versioned3_1 = versioned2_1 + Node("2")
|
val versioned3_1 = versioned2_1 :+ Node("2")
|
||||||
val versioned4_1 = versioned3_1 + Node("1")
|
val versioned4_1 = versioned3_1 :+ Node("1")
|
||||||
|
|
||||||
val versioned1_2 = new TestVersioned()
|
val versioned1_2 = new TestVersioned()
|
||||||
val versioned2_2 = versioned1_2 + Node("1")
|
val versioned2_2 = versioned1_2 :+ Node("1")
|
||||||
val versioned3_2 = versioned2_2 + Node("2")
|
val versioned3_2 = versioned2_2 :+ Node("2")
|
||||||
val versioned4_2 = versioned3_2 + Node("1")
|
val versioned4_2 = versioned3_2 :+ Node("1")
|
||||||
val versioned5_2 = versioned4_2 + Node("3")
|
val versioned5_2 = versioned4_2 :+ Node("3")
|
||||||
|
|
||||||
latestVersionOf[TestVersioned](versioned4_1, versioned5_2) must be(versioned5_2)
|
latestVersionOf[TestVersioned](versioned4_1, versioned5_2) must be(versioned5_2)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 1" in {
|
"pass misc comparison test 1" in {
|
||||||
var versioned1_1 = new TestVersioned()
|
var versioned1_1 = new TestVersioned()
|
||||||
val versioned2_1 = versioned1_1 + Node("1")
|
val versioned2_1 = versioned1_1 :+ Node("1")
|
||||||
|
|
||||||
val versioned1_2 = new TestVersioned()
|
val versioned1_2 = new TestVersioned()
|
||||||
val versioned2_2 = versioned1_2 + Node("2")
|
val versioned2_2 = versioned1_2 :+ Node("2")
|
||||||
|
|
||||||
latestVersionOf[TestVersioned](versioned2_1, versioned2_2) must be(versioned2_2)
|
latestVersionOf[TestVersioned](versioned2_1, versioned2_2) must be(versioned2_2)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 2" in {
|
"pass misc comparison test 2" in {
|
||||||
val versioned1_3 = new TestVersioned()
|
val versioned1_3 = new TestVersioned()
|
||||||
val versioned2_3 = versioned1_3 + Node("1")
|
val versioned2_3 = versioned1_3 :+ Node("1")
|
||||||
val versioned3_3 = versioned2_3 + Node("2")
|
val versioned3_3 = versioned2_3 :+ Node("2")
|
||||||
val versioned4_3 = versioned3_3 + Node("1")
|
val versioned4_3 = versioned3_3 :+ Node("1")
|
||||||
|
|
||||||
val versioned1_4 = new TestVersioned()
|
val versioned1_4 = new TestVersioned()
|
||||||
val versioned2_4 = versioned1_4 + Node("1")
|
val versioned2_4 = versioned1_4 :+ Node("1")
|
||||||
val versioned3_4 = versioned2_4 + Node("1")
|
val versioned3_4 = versioned2_4 :+ Node("1")
|
||||||
val versioned4_4 = versioned3_4 + Node("3")
|
val versioned4_4 = versioned3_4 :+ Node("3")
|
||||||
|
|
||||||
latestVersionOf[TestVersioned](versioned4_3, versioned4_4) must be(versioned4_4)
|
latestVersionOf[TestVersioned](versioned4_3, versioned4_4) must be(versioned4_4)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 3" in {
|
"pass misc comparison test 3" in {
|
||||||
val versioned1_1 = new TestVersioned()
|
val versioned1_1 = new TestVersioned()
|
||||||
val versioned2_1 = versioned1_1 + Node("2")
|
val versioned2_1 = versioned1_1 :+ Node("2")
|
||||||
val versioned3_1 = versioned2_1 + Node("2")
|
val versioned3_1 = versioned2_1 :+ Node("2")
|
||||||
|
|
||||||
val versioned1_2 = new TestVersioned()
|
val versioned1_2 = new TestVersioned()
|
||||||
val versioned2_2 = versioned1_2 + Node("1")
|
val versioned2_2 = versioned1_2 :+ Node("1")
|
||||||
val versioned3_2 = versioned2_2 + Node("2")
|
val versioned3_2 = versioned2_2 :+ Node("2")
|
||||||
val versioned4_2 = versioned3_2 + Node("2")
|
val versioned4_2 = versioned3_2 :+ Node("2")
|
||||||
val versioned5_2 = versioned4_2 + Node("3")
|
val versioned5_2 = versioned4_2 :+ Node("3")
|
||||||
|
|
||||||
latestVersionOf[TestVersioned](versioned3_1, versioned5_2) must be(versioned5_2)
|
latestVersionOf[TestVersioned](versioned3_1, versioned5_2) must be(versioned5_2)
|
||||||
}
|
}
|
||||||
|
|
||||||
"pass misc comparison test 4" in {
|
"pass misc comparison test 4" in {
|
||||||
val versioned1_1 = new TestVersioned()
|
val versioned1_1 = new TestVersioned()
|
||||||
val versioned2_1 = versioned1_1 + Node("1")
|
val versioned2_1 = versioned1_1 :+ Node("1")
|
||||||
val versioned3_1 = versioned2_1 + Node("2")
|
val versioned3_1 = versioned2_1 :+ Node("2")
|
||||||
val versioned4_1 = versioned3_1 + Node("2")
|
val versioned4_1 = versioned3_1 :+ Node("2")
|
||||||
val versioned5_1 = versioned4_1 + Node("3")
|
val versioned5_1 = versioned4_1 :+ Node("3")
|
||||||
|
|
||||||
val versioned1_2 = new TestVersioned()
|
val versioned1_2 = new TestVersioned()
|
||||||
val versioned2_2 = versioned1_2 + Node("2")
|
val versioned2_2 = versioned1_2 :+ Node("2")
|
||||||
val versioned3_2 = versioned2_2 + Node("2")
|
val versioned3_2 = versioned2_2 :+ Node("2")
|
||||||
|
|
||||||
latestVersionOf[TestVersioned](versioned5_1, versioned3_2) must be(versioned3_2)
|
latestVersionOf[TestVersioned](versioned5_1, versioned3_2) must be(versioned3_2)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue