-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuint64_linked_list_test.cdc
More file actions
102 lines (85 loc) · 3.62 KB
/
Copy pathuint64_linked_list_test.cdc
File metadata and controls
102 lines (85 loc) · 3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import Test
access(all) fun setup() {
let err = Test.deployContract(
name: "UInt64LinkedList",
path: "../contracts/UInt64LinkedList.cdc",
arguments: []
)
Test.expect(err, Test.beNil())
}
access(all)
fun executeScript(_ path: String, _ args: [AnyStruct]): Test.ScriptResult {
return Test.executeScript(Test.readFile(path), args)
}
// ─── Tests ───────────────────────────────────────────────────────────────────
access(all) fun test_EmptyListState() {
let res = executeScript("./scripts/uint64-linked-list/empty_list_state.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_InsertSingle() {
let res = executeScript("./scripts/uint64-linked-list/insert_single.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_InsertMultiple_HeadAndTailOrder() {
let res = executeScript("./scripts/uint64-linked-list/insert_multiple_order.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_Contains() {
let res = executeScript("./scripts/uint64-linked-list/contains.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveSingle() {
let res = executeScript("./scripts/uint64-linked-list/remove_single.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveHead() {
let res = executeScript("./scripts/uint64-linked-list/remove_head.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveTail() {
let res = executeScript("./scripts/uint64-linked-list/remove_tail.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveMiddle() {
let res = executeScript("./scripts/uint64-linked-list/remove_middle.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveAbsent() {
let res = executeScript("./scripts/uint64-linked-list/remove_absent.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_RemoveFromEmpty() {
let res = executeScript("./scripts/uint64-linked-list/remove_from_empty.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(true, res.returnValue as! Bool)
}
access(all) fun test_TailWalk_Order() {
let res = executeScript("./scripts/uint64-linked-list/tail_walk_order.cdc", [])
Test.expect(res, Test.beSucceeded())
let expected: [UInt64] = [1, 2, 3]
Test.assertEqual(expected, res.returnValue as! [UInt64])
}
access(all) fun test_TailWalk_Limit() {
let res = executeScript("./scripts/uint64-linked-list/tail_walk_limit.cdc", [])
Test.expect(res, Test.beSucceeded())
let walked = res.returnValue as! [UInt64]
Test.assertEqual(2, walked.length)
}
access(all) fun test_TailWalk_Empty() {
let res = executeScript("./scripts/uint64-linked-list/tail_walk_empty.cdc", [])
Test.expect(res, Test.beSucceeded())
Test.assertEqual(0, res.returnValue as! Int)
}
access(all) fun test_InsertDuplicate_Panics() {
let res = executeScript("./scripts/uint64-linked-list/insert_duplicate_panics.cdc", [])
Test.expect(res, Test.beFailed())
}