updating common tests so that impls that dont support pop wont fail

This commit is contained in:
ticktock 2010-10-24 19:39:53 -04:00
parent 1b53de8c11
commit bfa115b7ff
3 changed files with 21 additions and 6 deletions

View file

@ -42,6 +42,7 @@ case class VADD_WITH_SLICE(vsToAdd: List[String], start: Int, cnt: Int)
object StorageObj {
var getMap: String => PersistentMap[Array[Byte], Array[Byte]] = _
var getVector: String => PersistentVector[Array[Byte]] = _
var supportsRemove:Boolean = false
class SampleMapStorage extends Actor {
self.lifeCycle = Permanent
@ -197,12 +198,14 @@ Spec with
def getVector: String => PersistentVector[Array[Byte]]
def supportsVectorRemove: Boolean
def dropMapsAndVectors: Unit
override def beforeEach {
StorageObj.getMap = getMap
StorageObj.getVector = getVector
StorageObj.supportsRemove = supportsVectorRemove
dropMapsAndVectors
println("** dropMapsAndVectors")
}
@ -307,12 +310,19 @@ Spec with
proc.start
// add 4 elements in separate transactions //also test add + pop of a 5th element
(proc !! VADD("ticktock")).getOrElse("VADD failed") should equal(1)
(proc !! VADD("debasish")).getOrElse("VADD failed") should equal(2)
(proc !! VADD("maulindu")).getOrElse("VADD failed") should equal(3)
(proc !! VADD("ramanendu")).getOrElse("VADD failed") should equal(4)
(proc !! VADD("nilanjan")).getOrElse("VADD failed") should equal(5)
(proc !! VPOP).getOrElse("VPOP failed") should equal("ticktock".getBytes)
if(StorageObj.supportsRemove){
(proc !! VADD("ticktock")).getOrElse("VADD failed") should equal(1)
(proc !! VADD("debasish")).getOrElse("VADD failed") should equal(2)
(proc !! VADD("maulindu")).getOrElse("VADD failed") should equal(3)
(proc !! VADD("ramanendu")).getOrElse("VADD failed") should equal(4)
(proc !! VADD("nilanjan")).getOrElse("VADD failed") should equal(5)
(proc !! VPOP).getOrElse("VPOP failed") should equal("ticktock".getBytes)
} else {
(proc !! VADD("debasish")).getOrElse("VADD failed") should equal(1)
(proc !! VADD("maulindu")).getOrElse("VADD failed") should equal(2)
(proc !! VADD("ramanendu")).getOrElse("VADD failed") should equal(3)
(proc !! VADD("nilanjan")).getOrElse("VADD failed") should equal(4)
}
new String((proc !! VGET(0)).get.asInstanceOf[Array[Byte]]) should equal("nilanjan")
new String((proc !! VGET(1)).get.asInstanceOf[Array[Byte]]) should equal("ramanendu")

View file

@ -19,4 +19,6 @@ class RiakTicket343TestIntegration extends Ticket343Test {
def getVector: (String) => PersistentVector[Array[Byte]] = RiakStorage.getVector
def getMap: (String) => PersistentMap[Array[Byte], Array[Byte]] = RiakStorage.getMap
def supportsVectorRemove = true
}

View file

@ -19,4 +19,7 @@ class VoldemortTicket343Test extends Ticket343Test with EmbeddedVoldemort {
def getVector: (String) => PersistentVector[Array[Byte]] = VoldemortStorage.getVector
def getMap: (String) => PersistentMap[Array[Byte], Array[Byte]] = VoldemortStorage.getMap
def supportsVectorRemove = true
}