Skip to content

Commit d029137

Browse files
committed
1. 添加memorycard和stateswitch测试文件
1 parent 37def84 commit d029137

File tree

11 files changed

+494
-71
lines changed

11 files changed

+494
-71
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import io.github.wechaty.memorycard.MemoryCard;
2+
import org.junit.Test;
3+
4+
import java.util.Map;
5+
import java.util.concurrent.ExecutionException;
6+
7+
public class MemoryCardTest {
8+
9+
@Test
10+
public void testLoad() throws ExecutionException, InterruptedException {
11+
MemoryCard card = new MemoryCard("default", null);
12+
card.load();
13+
Map<String, Object> map = (Map<String, Object>) card.get("person");
14+
map.forEach((key, value) -> {
15+
System.out.println(key + ":" + value);
16+
});
17+
}
18+
}

wechaty-puppet/src/test/kotlin/io.github.wechaty.memorycard/MemoryCardTest.kt

Lines changed: 0 additions & 71 deletions
This file was deleted.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package io.github.wechaty.io.github.wechaty.memorycard.test
2+
3+
import io.github.wechaty.memorycard.*
4+
import io.github.wechaty.memorycard.backend.Address
5+
import io.github.wechaty.memorycard.backend.Person
6+
import io.github.wechaty.utils.JsonUtils
7+
import kotlinx.coroutines.GlobalScope
8+
import kotlinx.coroutines.launch
9+
import kotlinx.coroutines.runBlocking
10+
import org.junit.Before
11+
import org.junit.Test
12+
import org.junit.Assert.*
13+
14+
15+
class MemoryCardMultiplexTest {
16+
17+
lateinit var memoryCard: MemoryCard
18+
19+
@Before
20+
fun setUp() {
21+
memoryCard = MemoryCard("A")
22+
23+
}
24+
25+
@Test
26+
fun testLoadAndSave() {
27+
memoryCard.load()
28+
val cardA = memoryCard.multiplex("cardA")
29+
val cardB = memoryCard.multiplex("cardB")
30+
memoryCard.set("a", "b")
31+
cardA.set("a", "b")
32+
// cardB.set("a", "b")
33+
println(memoryCard.size())
34+
println(memoryCard.keys().size)
35+
println(cardA.keys().size)
36+
println(cardA.size())
37+
println(cardB.keys().size)
38+
memoryCard.save()
39+
}
40+
41+
@Test
42+
fun testLoadAd() {
43+
memoryCard.load()
44+
val cardA = memoryCard.multiplex("cardA")
45+
val cardB = memoryCard.multiplex("cardB")
46+
println(memoryCard.size())
47+
println(memoryCard.keys().size)
48+
}
49+
50+
@Test
51+
fun testParttern() {
52+
var a:String = "\rcardA\na"
53+
val NAMESPACE_MULTIPLEX_SEPRATOR_REGEX = Regex("\r")
54+
val NAMESPACE_KEY_SEPRATOR_REGEX = Regex("\n")
55+
if (NAMESPACE_MULTIPLEX_SEPRATOR_REGEX.containsMatchIn(a)) {
56+
println(1)
57+
}
58+
}
59+
}
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
package io.github.wechaty.io.github.wechaty.memorycard.test
2+
3+
import io.github.wechaty.memorycard.*
4+
import io.github.wechaty.memorycard.backend.Address
5+
import io.github.wechaty.memorycard.backend.Person
6+
import io.github.wechaty.utils.JsonUtils
7+
import kotlinx.coroutines.GlobalScope
8+
import kotlinx.coroutines.launch
9+
import kotlinx.coroutines.runBlocking
10+
import org.junit.Before
11+
import org.junit.Test
12+
import org.junit.Assert.*
13+
14+
15+
class MemoryCardTest {
16+
17+
lateinit var memoryCard: MemoryCard
18+
19+
@Before
20+
fun setUp() {
21+
memoryCard = MemoryCard("test")
22+
}
23+
24+
@Test
25+
fun testCreate() {
26+
this.memoryCard.load()
27+
this.memoryCard.values().forEach {
28+
assertEquals("b", it)
29+
}
30+
}
31+
32+
@Test
33+
fun testLoadAsync() {
34+
runBlocking {
35+
var job = GlobalScope.launch {
36+
memoryCard.loadAsync()
37+
}
38+
job.join()
39+
}
40+
41+
println(memoryCard.keys().size)
42+
}
43+
44+
@Test
45+
fun testSet() {
46+
this.memoryCard.load()
47+
this.memoryCard.set("list", listOf(1, 2, 3))
48+
this.memoryCard.save()
49+
}
50+
51+
@Test
52+
fun testDefultSave() {
53+
var son = MemoryCard()
54+
son.load()
55+
son.set("a", "你好")
56+
var map = mapOf("key" to "value")
57+
son.set("this is map", map)
58+
son.keys().forEach {
59+
println(it)
60+
}
61+
son.save()
62+
}
63+
64+
@Test
65+
fun testDelete() {
66+
memoryCard.load()
67+
memoryCard.delete("a")
68+
memoryCard.save()
69+
}
70+
@Test
71+
fun testDestory() {
72+
var de = MemoryCard()
73+
de.load()
74+
de.destory()
75+
}
76+
77+
@Test
78+
fun testMultiplex() {
79+
memoryCard.load()
80+
// 这里的name是前缀的名字
81+
// \rparent\nson
82+
val multiplex = Multiplex(this.memoryCard, "parent")
83+
val memoryCardOptions = MemoryCardOptions("son", multiplex = multiplex)
84+
println("options:" + memoryCardOptions)
85+
// 用debug模式会有问题
86+
// 如果一个memory是multiple的,那么它自身就不会保存,只会保存一个父类的
87+
var son = MemoryCard(options = memoryCardOptions)
88+
son.load()
89+
90+
son.set("son", "b")
91+
son.set("nihao", "asdasd")
92+
println(son.get("son"))
93+
son.delete("nihao")
94+
println("has key{nihao}:" + son.has("nihao"))
95+
println("has key{son}:" + son.has("son"))
96+
println("has key{list}:" + son.has("list"))
97+
son.save()
98+
}
99+
100+
@Test
101+
fun newLoad() {
102+
var card = MemoryCard()
103+
card.load()
104+
val get = card.get("person") as Map<*, *>
105+
println(get["name"])
106+
107+
var address = Address("福州", "付件")
108+
var person = Person("sda", 13, address)
109+
var text = JsonUtils.write(person)
110+
println(text)
111+
var city = JsonUtils.readValue<Map<String, Any>>(text)["address"] as Map<*, *>
112+
println(city["province"])
113+
}
114+
115+
@Test
116+
fun testMap() {
117+
var card = MemoryCard()
118+
card.load()
119+
println(card.keys().size)
120+
for (value in card.values()) {
121+
println(value)
122+
}
123+
card.keys().forEach {
124+
println(it)
125+
}
126+
127+
card.entries().forEach {
128+
println(it.key + ":" + it.value)
129+
}
130+
for (entry in card.get("person") as Map<String, Any>) {
131+
println(entry.key + ":" + entry.value)
132+
}
133+
}
134+
135+
@Test
136+
fun testMultiplexSave() {
137+
// 设置父memorycard
138+
var parentCard = MemoryCard("aaaa")
139+
parentCard.load()
140+
parentCard.set("a", "b")
141+
// \r后面的为parent
142+
val multiplex = Multiplex(parentCard, "parent")
143+
// 子card的名字为son
144+
val memoryCardOptions = MemoryCardOptions("son", multiplex = multiplex)
145+
var sonCard = MemoryCard(options = memoryCardOptions)
146+
sonCard.load()
147+
sonCard.set("map", mapOf("a" to 1, "b" to 2))
148+
sonCard.set("list", listOf("1", "2", "3"))
149+
sonCard.save()
150+
}
151+
152+
@Test
153+
fun testMultiplexLoad() {
154+
var parentCard = MemoryCard("parent")
155+
parentCard.load()
156+
157+
val multiplex = Multiplex(parentCard, "parent")
158+
val memoryCardOptions = MemoryCardOptions("son", multiplex = multiplex)
159+
160+
var sonCard = MemoryCard(options = memoryCardOptions)
161+
sonCard.load()
162+
sonCard.keys().forEach {
163+
println(it)
164+
}
165+
sonCard.values().forEach {
166+
println(it)
167+
}
168+
}
169+
170+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.github.wechaty.memorycard
2+
3+
import org.junit.Test
4+
5+
6+
class StorageOptionsTest {
7+
8+
@Test
9+
fun testBackendDict() {
10+
BACKEND_DICT.forEach { t, u ->
11+
println("key:" + t + " value:" + u)
12+
}
13+
}
14+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package io.github.wechaty.io.github.wechaty.memorycard.test
2+
3+
import io.github.wechaty.memorycard.MemoryCardPayload
4+
import io.github.wechaty.memorycard.StorageFileOptions
5+
import io.github.wechaty.memorycard.backend.StorageFile
6+
import org.junit.Before
7+
import org.junit.Test
8+
9+
10+
class StorageFileTset {
11+
12+
lateinit var storageFile: StorageFile
13+
14+
@Before
15+
fun setUp() {
16+
this.storageFile = StorageFile("test", StorageFileOptions())
17+
}
18+
@Test
19+
fun testCreate() {
20+
println(this.storageFile.name)
21+
}
22+
23+
@Test
24+
fun testLoad() {
25+
val load = this.storageFile.load()
26+
for (mutableEntry in load.map) {
27+
println("key:" + mutableEntry.key + " value:" + mutableEntry.value)
28+
}
29+
}
30+
31+
@Test
32+
fun testSave() {
33+
val memoryCardPayload = MemoryCardPayload()
34+
35+
memoryCardPayload.map.put("a", 123)
36+
memoryCardPayload.map.put("b", "年后")
37+
memoryCardPayload.map.put("c", "今年过节不收礼")
38+
storageFile.save(memoryCardPayload)
39+
}
40+
@Test
41+
fun testDestory() {
42+
storageFile.destory()
43+
44+
}
45+
}

0 commit comments

Comments
 (0)