// EXEC: cjc %import-path %L %l %f --test
// EXEC: ./main
import std.unittest.*
import std.unittest.testmacro.*
import memorycache.*
@Test
public class MmemorycacheTest {
@TestCase
public func testcap(): Unit {
var entry = MemoryCache(10)
var size = entry.getCapacity()
@Assert(size,10)
entry.setCapacity(5)
size = entry.getCapacity()
@Assert(size,5)
println("true")
}
@TestCase
public func testput(): Unit {
var entry = MemoryCache(10)
entry.put("key1","val1")
entry.put("key1","val1")
var res = entry.contains("key1")
@Assert(res,true)
println("true")
println("true")
}
@TestCase
public func testget(): Unit {
var entry = MemoryCache(10)
entry.put("key1","val1")
entry.put("key1","val1")
var res = entry.get("key1")
@Assert(res,"val1")
println("true")
println("true")
}
@TestCase
public func testget2(): Unit {
var entry = MemoryCache(10)
entry.put("key1","val1")
entry.remove("key1")
var res = entry.get("key1").isNone()
@Assert(res,true)
entry.clear()
println("true")
println("true")
}
}