Skip to content

Commit 2448d59

Browse files
committed
use strum; fix tests
Signed-off-by: Teo Koon Peng <[email protected]>
1 parent f155758 commit 2448d59

File tree

9 files changed

+59
-11
lines changed

9 files changed

+59
-11
lines changed

Cargo.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,17 @@ serde = { version = "1.0.210", features = ["derive"], optional = true }
5151
serde_json = { version = "1.0.128", optional = true }
5252
cel-interpreter = { version = "0.9.0", features = ["json"], optional = true }
5353
tracing = "0.1.41"
54+
strum = { version = "0.26.3", optional = true, features = ["derive"] }
5455

5556
[features]
5657
single_threaded_async = ["dep:async-task"]
57-
diagram = ["dep:schemars", "dep:serde", "dep:serde_json", "dep:cel-interpreter"]
58+
diagram = [
59+
"dep:cel-interpreter",
60+
"dep:schemars",
61+
"dep:serde",
62+
"dep:serde_json",
63+
"dep:strum",
64+
]
5865

5966
[dev-dependencies]
6067
async-std = { version = "1.12" }

examples/diagram/calculator/multiply3.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"$schema": "../../../diagram.schema.json",
3+
"version": 1,
34
"start": "mul3",
45
"ops": {
56
"mul3": {

src/diagram.rs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,20 @@ impl Display for NextOperation {
5252
}
5353

5454
#[derive(
55-
Debug, Clone, Serialize, Deserialize, JsonSchema, Hash, PartialEq, Eq, PartialOrd, Ord,
55+
Debug,
56+
Clone,
57+
Serialize,
58+
Deserialize,
59+
JsonSchema,
60+
Hash,
61+
PartialEq,
62+
Eq,
63+
PartialOrd,
64+
Ord,
65+
strum::Display,
5666
)]
5767
#[serde(rename_all = "snake_case")]
68+
#[strum(serialize_all = "snake_case")]
5869
pub enum BuiltinTarget {
5970
/// Use the output to terminate the workflow. This will be the return value
6071
/// of the workflow.
@@ -64,15 +75,6 @@ pub enum BuiltinTarget {
6475
Dispose,
6576
}
6677

67-
impl Display for BuiltinTarget {
68-
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
69-
match self {
70-
Self::Terminate => f.write_str("terminate"),
71-
Self::Dispose => f.write_str("dispose"),
72-
}
73-
}
74-
}
75-
7678
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
7779
#[serde(rename_all = "snake_case")]
7880
pub struct TerminateOp {}
@@ -94,6 +96,7 @@ pub enum DiagramOperation {
9496
/// ```
9597
/// # bevy_impulse::Diagram::from_json_str(r#"
9698
/// {
99+
/// "version": 1,
97100
/// "start": "node_op",
98101
/// "ops": {
99102
/// "node_op": {
@@ -113,6 +116,7 @@ pub enum DiagramOperation {
113116
/// ```
114117
/// # bevy_impulse::Diagram::from_json_str(r#"
115118
/// {
119+
/// "version": 1,
116120
/// "start": "fork_clone",
117121
/// "ops": {
118122
/// "fork_clone": {
@@ -132,6 +136,7 @@ pub enum DiagramOperation {
132136
/// ```
133137
/// # bevy_impulse::Diagram::from_json_str(r#"
134138
/// {
139+
/// "version": 1,
135140
/// "start": "unzip",
136141
/// "ops": {
137142
/// "unzip": {
@@ -150,6 +155,7 @@ pub enum DiagramOperation {
150155
/// ```
151156
/// # bevy_impulse::Diagram::from_json_str(r#"
152157
/// {
158+
/// "version": 1,
153159
/// "start": "fork_result",
154160
/// "ops": {
155161
/// "fork_result": {
@@ -171,6 +177,7 @@ pub enum DiagramOperation {
171177
/// ```
172178
/// # bevy_impulse::Diagram::from_json_str(r#"
173179
/// {
180+
/// "version": 1,
174181
/// "start": "split",
175182
/// "ops": {
176183
/// "split": {
@@ -191,6 +198,7 @@ pub enum DiagramOperation {
191198
/// ```
192199
/// # bevy_impulse::Diagram::from_json_str(r#"
193200
/// {
201+
/// "version": 1,
194202
/// "start": "split",
195203
/// "ops": {
196204
/// "split": {
@@ -225,6 +233,7 @@ pub enum DiagramOperation {
225233
/// ```
226234
/// # bevy_impulse::Diagram::from_json_str(r#"
227235
/// {
236+
/// "version": 1,
228237
/// "start": "transform",
229238
/// "ops": {
230239
/// "transform": {
@@ -246,6 +255,7 @@ pub enum DiagramOperation {
246255
/// ```
247256
/// # bevy_impulse::Diagram::from_json_str(r#"
248257
/// {
258+
/// "version": 1,
249259
/// "start": "transform",
250260
/// "ops": {
251261
/// "transform": {
@@ -297,6 +307,7 @@ impl Diagram {
297307
///
298308
/// let json_str = r#"
299309
/// {
310+
/// "version": 1,
300311
/// "start": "echo",
301312
/// "ops": {
302313
/// "echo": {
@@ -445,6 +456,7 @@ mod tests {
445456
let mut fixture = DiagramTestFixture::new();
446457

447458
let diagram = Diagram::from_json(json!({
459+
"version": 1,
448460
"start": "op1",
449461
"ops": {
450462
"op1": {
@@ -470,6 +482,7 @@ mod tests {
470482
let mut fixture = DiagramTestFixture::new();
471483

472484
let diagram = Diagram::from_json(json!({
485+
"version": 1,
473486
"start": "op1",
474487
"ops": {
475488
"op1": {
@@ -490,6 +503,7 @@ mod tests {
490503
let mut fixture = DiagramTestFixture::new();
491504

492505
let diagram = Diagram::from_json(json!({
506+
"version": 1,
493507
"start": "op1",
494508
"ops": {
495509
"op1": {
@@ -510,6 +524,7 @@ mod tests {
510524
let mut fixture = DiagramTestFixture::new();
511525

512526
let diagram = Diagram::from_json(json!({
527+
"version": 1,
513528
"start": "op1",
514529
"ops": {
515530
"op1": {
@@ -535,6 +550,7 @@ mod tests {
535550
let mut fixture = DiagramTestFixture::new();
536551

537552
let diagram = Diagram::from_json(json!({
553+
"version": 1,
538554
"start": "op1",
539555
"ops": {
540556
"op1": {
@@ -565,6 +581,7 @@ mod tests {
565581
let mut fixture = DiagramTestFixture::new();
566582

567583
let diagram = Diagram::from_json(json!({
584+
"version": 1,
568585
"start": "op1",
569586
"ops": {
570587
"op1": {
@@ -596,6 +613,7 @@ mod tests {
596613
let mut fixture = DiagramTestFixture::new();
597614

598615
let diagram = Diagram::from_json(json!({
616+
"version": 1,
599617
"start": { "builtin": "terminate" },
600618
"ops": {},
601619
}))
@@ -613,6 +631,7 @@ mod tests {
613631

614632
let json_str = r#"
615633
{
634+
"version": 1,
616635
"start": "multiply3_uncloneable",
617636
"ops": {
618637
"multiply3_uncloneable": {
@@ -641,6 +660,7 @@ mod tests {
641660
let mut fixture = DiagramTestFixture::new();
642661

643662
let diagram = Diagram::from_json(json!({
663+
"version": 1,
644664
"start": "op1",
645665
"ops": {
646666
"op1": {

src/diagram/fork_clone.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ mod tests {
7676
let mut fixture = DiagramTestFixture::new();
7777

7878
let diagram = Diagram::from_json(json!({
79+
"version": 1,
7980
"start": "op1",
8081
"ops": {
8182
"op1": {
@@ -104,6 +105,7 @@ mod tests {
104105
let mut fixture = DiagramTestFixture::new();
105106

106107
let diagram = Diagram::from_json(json!({
108+
"version": 1,
107109
"start": "op1",
108110
"ops": {
109111
"op1": {

src/diagram/fork_result.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ mod tests {
9696
);
9797

9898
let diagram = Diagram::from_json(json!({
99+
"version": 1,
99100
"start": "op1",
100101
"ops": {
101102
"op1": {

src/diagram/join.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ mod tests {
112112
);
113113

114114
let diagram = Diagram::from_json(json!({
115+
"version": 1,
115116
"start": "split",
116117
"ops": {
117118
"split": {
@@ -176,6 +177,7 @@ mod tests {
176177
);
177178

178179
let diagram = Diagram::from_json(json!({
180+
"version": 1,
179181
"start": "split",
180182
"ops": {
181183
"split": {

src/diagram/split_serialized.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ mod tests {
391391
);
392392

393393
let diagram = Diagram::from_json(json!({
394+
"version": 1,
394395
"start": "op1",
395396
"ops": {
396397
"op1": {
@@ -431,6 +432,7 @@ mod tests {
431432
);
432433

433434
let diagram = Diagram::from_json(json!({
435+
"version": 1,
434436
"start": "op1",
435437
"ops": {
436438
"op1": {
@@ -475,6 +477,7 @@ mod tests {
475477
);
476478

477479
let diagram = Diagram::from_json(json!({
480+
"version": 1,
478481
"start": "op1",
479482
"ops": {
480483
"op1": {
@@ -515,6 +518,7 @@ mod tests {
515518
);
516519

517520
let diagram = Diagram::from_json(json!({
521+
"version": 1,
518522
"start": "op1",
519523
"ops": {
520524
"op1": {
@@ -552,6 +556,7 @@ mod tests {
552556
);
553557

554558
let diagram = Diagram::from_json(json!({
559+
"version": 1,
555560
"start": "split",
556561
"ops": {
557562
"split": {

src/diagram/transform.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ mod tests {
8484
let mut fixture = DiagramTestFixture::new();
8585

8686
let diagram = Diagram::from_json(json!({
87+
"version": 1,
8788
"start": "op1",
8889
"ops": {
8990
"op1": {
@@ -111,6 +112,7 @@ mod tests {
111112
let mut fixture = DiagramTestFixture::new();
112113

113114
let diagram = Diagram::from_json(json!({
115+
"version": 1,
114116
"start": "transform",
115117
"ops": {
116118
"transform": {
@@ -133,6 +135,7 @@ mod tests {
133135
let mut fixture = DiagramTestFixture::new();
134136

135137
let diagram = Diagram::from_json(json!({
138+
"version": 1,
136139
"start": "transform",
137140
"ops": {
138141
"transform": {
@@ -155,6 +158,7 @@ mod tests {
155158
let mut fixture = DiagramTestFixture::new();
156159

157160
let diagram = Diagram::from_json(json!({
161+
"version": 1,
158162
"start": "transform",
159163
"ops": {
160164
"transform": {
@@ -178,6 +182,7 @@ mod tests {
178182
let mut fixture = DiagramTestFixture::new();
179183

180184
let diagram = Diagram::from_json(json!({
185+
"version": 1,
181186
"start": "transform",
182187
"ops": {
183188
"transform": {

src/diagram/unzip.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ mod tests {
9797
let mut fixture = DiagramTestFixture::new();
9898

9999
let diagram = Diagram::from_json(json!({
100+
"version": 1,
100101
"start": "op1",
101102
"ops": {
102103
"op1": {
@@ -121,6 +122,7 @@ mod tests {
121122
let mut fixture = DiagramTestFixture::new();
122123

123124
let diagram = Diagram::from_json(json!({
125+
"version": 1,
124126
"start": "op1",
125127
"ops": {
126128
"op1": {
@@ -160,6 +162,7 @@ mod tests {
160162
let mut fixture = DiagramTestFixture::new();
161163

162164
let diagram = Diagram::from_json(json!({
165+
"version": 1,
163166
"start": "op1",
164167
"ops": {
165168
"op1": {
@@ -186,6 +189,7 @@ mod tests {
186189
let mut fixture = DiagramTestFixture::new();
187190

188191
let diagram = Diagram::from_json(json!({
192+
"version": 1,
189193
"start": "op1",
190194
"ops": {
191195
"op1": {
@@ -217,6 +221,7 @@ mod tests {
217221
let mut fixture = DiagramTestFixture::new();
218222

219223
let diagram = Diagram::from_json(json!({
224+
"version": 1,
220225
"start": "op1",
221226
"ops": {
222227
"op1": {

0 commit comments

Comments
 (0)