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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#[cfg(test)]
#[cfg(all(feature = "mutex_map" , feature = "map"))]
mod core_tests {
use visa_device_handler::device_map::mutex_map::MutexDeviceMap;
///General test to see if the MutexDeviceMap works.
fn _test_mapper() {
let mapper_res = MutexDeviceMap::default(None);
match mapper_res {
Ok(mapper) => {
let stat = mapper.get_first_device(Some("?*INSTR"), true);
match stat {
Ok(dev) => {
assert_eq!(1, 1);
let con = mapper.connect_device(dev.address.clone());
if con.is_err() {
println!("got error: con error");
assert_eq!(1, -11);
}
let res = mapper.query_from_device(dev.address.clone(), "*IDN?\n");
if res.is_ok() {
println!("res got {}", res.unwrap());
}
let dis = mapper.disconnect_device(dev.address.clone());
match dis {
Ok(_) => {
assert_eq!(1, 1);
}
Err(e) => {
println!("got error: {}", e);
assert_eq!(1, -10);
}
}
}
Err(e) => {
println!("got error: {}", e);
assert_eq!(1, -1);
}
}
}
Err(e) => {
println!("got error of {}", e);
assert_eq!(1, -1);
}
}
}
#[test]
fn test_find_all() {
let mapper_res = MutexDeviceMap::default(None);
match mapper_res {
Ok(mapper) => {
let stat = mapper.find_all_devices(Some("USB?*"), true);
match stat {
Ok(_) => assert_eq!(1, 1),
Err(_) => assert_eq!(1, -2),
}
}
Err(e) => {
println!("got error of {}", e);
assert_eq!(1, -1);
}
}
}
#[test]
fn test_map_multi_device() {
let mapper_res = MutexDeviceMap::default(None);
match mapper_res {
Ok(mapper) => {
let devices = mapper.find_all_devices(Some("?*SOCKET"), true);
match devices {
Ok(vec) => {
if vec.len() < 2 {
println!("not enough devices for this test!");
assert_eq!(1, 0);
}
let dev1 = mapper.connect_device(vec[0].address.clone());
match dev1 {
Ok(_) => assert_eq!(1, 1),
Err(_) => assert_eq!(1, -1),
}
let dev2 = mapper
.connect_device(vec[1].address.clone());
match dev2 {
Ok(_) => assert_eq!(1, 1),
Err(_) => assert_eq!(1, -2),
}
let quer_dev1 = mapper.query_from_device(
vec[0].address.clone(),
"*IDN?",
);
match quer_dev1 {
Ok(res) => {
println!("{}", res);
assert_eq!(1, 1)
}
Err(e) => {
println!("{}", e);
assert_eq!(1, -3)
}
}
let quer_dev2 = mapper.query_from_device(
vec[1].address.clone(),
"*IDN?",
);
match quer_dev2 {
Ok(res) => {
println!("{}", res);
assert_eq!(1, 1)
}
Err(e) => {
println!("{}", e);
assert_eq!(1, -4)
}
}
}
Err(_) => assert_eq!(1, 0),
}
}
Err(e) => {
println!("got error of {}", e);
assert_eq!(1, -11);
}
}
}
}