Skip to content

Commit 1821530

Browse files
committed
chore: fix broken unit tests
1 parent 60ed0f3 commit 1821530

File tree

10 files changed

+145
-13
lines changed

10 files changed

+145
-13
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/components/fixtures/src/color_mixer.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ mod tests {
265265
Default::default(),
266266
Default::default(),
267267
);
268+
mixer.flush();
268269

269270
let result = mixer.rgb();
270271

@@ -309,6 +310,7 @@ mod tests {
309310
Default::default(),
310311
Default::default(),
311312
);
313+
mixer.flush();
312314

313315
let result = mixer.rgbw();
314316

@@ -359,6 +361,7 @@ mod tests {
359361
Default::default(),
360362
Default::default(),
361363
);
364+
mixer.flush();
362365

363366
let result = mixer.rgb();
364367

@@ -410,6 +413,7 @@ mod tests {
410413
Default::default(),
411414
Default::default(),
412415
);
416+
mixer.flush();
413417

414418
let result = mixer.rgbw();
415419

crates/components/fixtures/src/fixture.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -739,21 +739,22 @@ mod tests {
739739
value_b: f64,
740740
expected: f64,
741741
) {
742-
let mut channel_value = super::ChannelValues::default();
743-
channel_value.insert(
742+
let mut channel_values = super::ChannelValues::default();
743+
channel_values.insert(
744744
value_a,
745745
level_a.into(),
746746
Default::default(),
747747
Default::default(),
748748
);
749-
channel_value.insert(
749+
channel_values.insert(
750750
value_b,
751751
level_b.into(),
752752
Default::default(),
753753
Default::default(),
754754
);
755+
channel_values.flush();
755756

756-
let result = channel_value.get();
757+
let result = channel_values.get();
757758

758759
assert_eq!(expected, result.unwrap());
759760
}
@@ -765,21 +766,22 @@ mod tests {
765766
value_htp: f64,
766767
expected: f64,
767768
) {
768-
let mut channel_value = super::ChannelValues::default();
769-
channel_value.insert(
769+
let mut channel_values = super::ChannelValues::default();
770+
channel_values.insert(
770771
value_ltp,
771772
LTPPriority::Low.into(),
772773
Default::default(),
773774
Default::default(),
774775
);
775-
channel_value.insert(
776+
channel_values.insert(
776777
value_htp,
777778
FixturePriority::HTP,
778779
Default::default(),
779780
Default::default(),
780781
);
782+
channel_values.flush();
781783

782-
let result = channel_value.get();
784+
let result = channel_values.get();
783785

784786
assert_eq!(expected, result.unwrap());
785787
}

crates/components/fixtures/src/manager.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@ impl FixtureManager {
258258
self.fixtures.iter().collect()
259259
}
260260

261+
pub fn get_fixtures_mut(&self) -> Vec<impl DerefMut<Target = Fixture> + '_> {
262+
self.fixtures.iter_mut().collect()
263+
}
264+
261265
pub fn get_group(&self, group_id: GroupId) -> Option<impl Deref<Target = Group> + '_> {
262266
self.groups.get(&group_id)
263267
}

crates/components/sequencer/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ mockall = "0.13"
3131
mockall_double = "0.3"
3232
predicates = "3.1"
3333
plotters = { version = "0.3", default-features = false, features = ["svg_backend", "line_series"] }
34+
mizer-protocol-dmx = { path = "../connections/protocols/dmx" }

crates/components/sequencer/src/effects/effect_grapher.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use mizer_fixtures::definition::{
1414
use mizer_fixtures::fixture::IFixture;
1515
use mizer_fixtures::manager::FixtureManager;
1616
use mizer_fixtures::FixtureId;
17+
use mizer_protocol_dmx::DmxWriter;
1718
use mizer_util::clock::{Clock, TestClock};
1819

1920
use super::instance::EffectInstance;
@@ -232,17 +233,27 @@ fn collect_fixture_frames(
232233
fixture_manager: &FixtureManager,
233234
frames: &mut HashMap<(u32, FixtureFaderControl), Vec<f64>>,
234235
) {
235-
for fixture in fixture_manager.get_fixtures() {
236+
let writer = MockWriter {};
237+
for mut fixture in fixture_manager.get_fixtures_mut() {
236238
for control in fixture
237239
.current_mode
238240
.controls
239241
.controls()
240242
.into_iter()
241243
.flat_map(|(controls, _)| controls.faders())
242244
{
245+
fixture.flush(&writer);
243246
if let Some(value) = fixture.read_control(control.clone()) {
244247
frames.entry((fixture.id, control)).or_default().push(value);
245248
}
246249
}
247250
}
248251
}
252+
253+
struct MockWriter {}
254+
255+
impl DmxWriter for MockWriter {
256+
fn write_single(&self, universe: u16, channel: u16, value: u8) {}
257+
258+
fn write_bulk(&self, universe: u16, channel: u16, values: &[u8]) {}
259+
}

crates/components/sequencer/src/lib.rs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ mod tests {
5151
predicate::eq(control.clone()),
5252
predicate::eq(value),
5353
predicate::always(),
54+
predicate::always(),
55+
predicate::always(),
5456
)
5557
.return_const(());
5658
let sequence = Sequence {
@@ -93,6 +95,8 @@ mod tests {
9395
predicate::eq(control.clone()),
9496
predicate::eq(1f64),
9597
predicate::always(),
98+
predicate::always(),
99+
predicate::always(),
96100
)
97101
.once()
98102
.return_const(());
@@ -104,6 +108,8 @@ mod tests {
104108
predicate::eq(control.clone()),
105109
predicate::eq(0.5f64),
106110
predicate::always(),
111+
predicate::always(),
112+
predicate::always(),
107113
)
108114
.once()
109115
.return_const(());
@@ -175,6 +181,8 @@ mod tests {
175181
predicate::eq(control.clone()),
176182
predicate::eq(value),
177183
predicate::always(),
184+
predicate::always(),
185+
predicate::always(),
178186
)
179187
.return_const(());
180188
}
@@ -218,6 +226,8 @@ mod tests {
218226
predicate::eq(control.clone()),
219227
predicate::always(),
220228
predicate::always(),
229+
predicate::always(),
230+
predicate::always(),
221231
)
222232
.return_const(());
223233
let sequence = Sequence {
@@ -267,6 +277,8 @@ mod tests {
267277
predicate::eq(control.clone()),
268278
predicate::always(),
269279
predicate::always(),
280+
predicate::always(),
281+
predicate::always(),
270282
)
271283
.return_const(());
272284
let sequence = Sequence {
@@ -317,6 +329,8 @@ mod tests {
317329
predicate::eq(control.clone()),
318330
predicate::eq(1f64),
319331
predicate::always(),
332+
predicate::always(),
333+
predicate::always(),
320334
)
321335
.return_const(());
322336
let sequence = Sequence {
@@ -376,6 +390,8 @@ mod tests {
376390
predicate::eq(control.clone()),
377391
predicate::eq(1f64),
378392
predicate::always(),
393+
predicate::always(),
394+
predicate::always(),
379395
)
380396
.return_const(());
381397
let sequence = Sequence {
@@ -453,6 +469,8 @@ mod tests {
453469
predicate::eq(control.clone()),
454470
predicate::eq(value),
455471
predicate::always(),
472+
predicate::always(),
473+
predicate::always(),
456474
)
457475
.return_const(());
458476
} else {
@@ -465,6 +483,8 @@ mod tests {
465483
predicate::always(),
466484
predicate::always(),
467485
predicate::always(),
486+
predicate::always(),
487+
predicate::always(),
468488
)
469489
.return_const(());
470490
}
@@ -531,6 +551,8 @@ mod tests {
531551
predicate::eq(control.clone()),
532552
predicate::eq(0f64),
533553
predicate::always(),
554+
predicate::always(),
555+
predicate::always(),
534556
)
535557
.return_const(());
536558
let sequence = Sequence {
@@ -587,6 +609,8 @@ mod tests {
587609
predicate::eq(control.clone()),
588610
predicate::eq(0f64),
589611
predicate::always(),
612+
predicate::always(),
613+
predicate::always(),
590614
)
591615
.return_const(());
592616
context
@@ -598,6 +622,8 @@ mod tests {
598622
predicate::eq(control.clone()),
599623
predicate::eq(expected),
600624
predicate::always(),
625+
predicate::always(),
626+
predicate::always(),
601627
)
602628
.return_const(());
603629
let sequence = Sequence {
@@ -710,6 +736,8 @@ mod tests {
710736
predicate::eq(control.clone()),
711737
predicate::eq(expected),
712738
predicate::always(),
739+
predicate::always(),
740+
predicate::always(),
713741
)
714742
.return_const(());
715743
}
@@ -772,6 +800,8 @@ mod tests {
772800
predicate::eq(control),
773801
predicate::eq(0f64),
774802
predicate::always(),
803+
predicate::always(),
804+
predicate::always(),
775805
)
776806
.return_const(());
777807

@@ -866,6 +896,8 @@ mod tests {
866896
predicate::eq(control.clone()),
867897
predicate::eq(value),
868898
predicate::always(),
899+
predicate::always(),
900+
predicate::always(),
869901
)
870902
.return_const(());
871903
} else {
@@ -874,6 +906,8 @@ mod tests {
874906
predicate::eq(control.clone()),
875907
predicate::always(),
876908
predicate::always(),
909+
predicate::always(),
910+
predicate::always(),
877911
);
878912
}
879913
}
@@ -906,6 +940,8 @@ mod tests {
906940
predicate::eq(FixtureFaderControl::Intensity),
907941
predicate::float::is_close(1f64),
908942
predicate::always(),
943+
predicate::always(),
944+
predicate::always(),
909945
)
910946
.times(3)
911947
.return_const(());
@@ -917,6 +953,8 @@ mod tests {
917953
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Blue)),
918954
predicate::float::is_close(0f64),
919955
predicate::always(),
956+
predicate::always(),
957+
predicate::always(),
920958
)
921959
.times(3)
922960
.return_const(());
@@ -928,6 +966,8 @@ mod tests {
928966
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Red)),
929967
predicate::float::is_close(1f64),
930968
predicate::always(),
969+
predicate::always(),
970+
predicate::always(),
931971
)
932972
.once()
933973
.return_const(())
@@ -940,6 +980,8 @@ mod tests {
940980
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Red)),
941981
predicate::float::is_close(0.5f64),
942982
predicate::always(),
983+
predicate::always(),
984+
predicate::always(),
943985
)
944986
.once()
945987
.return_const(())
@@ -952,6 +994,8 @@ mod tests {
952994
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Red)),
953995
predicate::float::is_close(0f64),
954996
predicate::always(),
997+
predicate::always(),
998+
predicate::always(),
955999
)
9561000
.once()
9571001
.return_const(())
@@ -964,6 +1008,8 @@ mod tests {
9641008
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Green)),
9651009
predicate::float::is_close(0f64),
9661010
predicate::always(),
1011+
predicate::always(),
1012+
predicate::always(),
9671013
)
9681014
.once()
9691015
.return_const(())
@@ -976,6 +1022,8 @@ mod tests {
9761022
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Green)),
9771023
predicate::float::is_close(0.5f64),
9781024
predicate::always(),
1025+
predicate::always(),
1026+
predicate::always(),
9791027
)
9801028
.once()
9811029
.return_const(())
@@ -988,6 +1036,8 @@ mod tests {
9881036
predicate::eq(FixtureFaderControl::ColorMixer(ColorChannel::Green)),
9891037
predicate::float::is_close(1f64),
9901038
predicate::always(),
1039+
predicate::always(),
1040+
predicate::always(),
9911041
)
9921042
.once()
9931043
.return_const(())

0 commit comments

Comments
 (0)