From 4721366ec8b933cc2961fcb18ada08b1be7daa81 Mon Sep 17 00:00:00 2001 From: Nickiel12 <35903114+Nickiel12@users.noreply.github.com> Date: Sat, 11 Dec 2021 15:22:42 -0800 Subject: [PATCH] updated to include mutable borrows. Oops --- .../stream_states/stream_states_class.rs | 28 ++++++++--------- src/tests/stream_states_tests.rs | 30 +++++++++---------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/src/modules/stream_states/stream_states_class.rs b/src/modules/stream_states/stream_states_class.rs index 34c71b6..5414d6a 100644 --- a/src/modules/stream_states/stream_states_class.rs +++ b/src/modules/stream_states/stream_states_class.rs @@ -44,16 +44,16 @@ impl StreamStates { StreamStates{..Default::default()} } - pub fn update(mut self, update: StateUpdate) -> Self { + pub fn update(&mut self, update: StateUpdate) { match update { - StateUpdate::StreamRunning(new_val) => {self.stream_running = new_val; self}, - StateUpdate::StreamIsMuted(new_val) => {self.stream_is_muted = new_val; self}, - StateUpdate::ComputerSoundIsOn(new_val) => {self.computer_sound_is_on = new_val; self}, - StateUpdate::ChangeSceneOnChangeSlideHotkey(new_val) => {self.change_scene_on_change_slide_hotkey = new_val; self}, - StateUpdate::TimerCanRun(new_val) => {self.timer_can_run = new_val; self}, - StateUpdate::TimerLength(new_val) => {self.timer_length = new_val; self}, - StateUpdate::TimerText(new_val) => {self.timer_text = new_val; self}, - StateUpdate::Scene(new_val) => {self.change_scene(&new_val)}, + StateUpdate::StreamRunning(new_val) => {self.stream_running = new_val;}, + StateUpdate::StreamIsMuted(new_val) => {self.stream_is_muted = new_val;}, + StateUpdate::ComputerSoundIsOn(new_val) => {self.computer_sound_is_on = new_val;}, + StateUpdate::ChangeSceneOnChangeSlideHotkey(new_val) => {self.change_scene_on_change_slide_hotkey = new_val;}, + StateUpdate::TimerCanRun(new_val) => {self.timer_can_run = new_val;}, + StateUpdate::TimerLength(new_val) => {self.timer_length = new_val;}, + StateUpdate::TimerText(new_val) => {self.timer_text = new_val;}, + StateUpdate::Scene(new_val) => {self.change_scene(&new_val)}, StateUpdate::SceneIsAugmented(new_val) => { self.scene_is_augmented = new_val; self.change_scene(&enums::Scenes::Augmented)}, @@ -72,7 +72,7 @@ impl StreamStates { self.screen_sub_scene } - pub fn change_scene(mut self, scene: &enums::Scenes) -> Self { + pub fn change_scene(&mut self, scene: &enums::Scenes) { match scene { enums::Scenes::CameraDefault | enums::Scenes::CameraWithUpperRight | enums::Scenes::CameraWithLargeUpperRight | enums::Scenes::CameraWithLowerRight @@ -80,19 +80,17 @@ impl StreamStates { enums::Scenes::ScreenDefault | enums::Scenes::ScreenWithUpperRight | enums::Scenes::ScreenWithLowerRight => {StreamStates::set_screen_scene(self, scene)}, - enums::Scenes::Augmented => {self.current_scene = *scene; self} + enums::Scenes::Augmented => {self.current_scene = *scene;} } } - fn set_camera_scene(mut self, scene: &enums::Scenes) -> Self{ + fn set_camera_scene(&mut self, scene: &enums::Scenes) { self.camera_sub_scene = scene.clone(); self.current_scene = scene.clone(); - self } - fn set_screen_scene(mut self, scene: &enums::Scenes) -> Self { + fn set_screen_scene(&mut self, scene: &enums::Scenes) { self.screen_sub_scene = scene.clone(); self.current_scene = scene.clone(); - self } } diff --git a/src/tests/stream_states_tests.rs b/src/tests/stream_states_tests.rs index 4072729..434f56e 100644 --- a/src/tests/stream_states_tests.rs +++ b/src/tests/stream_states_tests.rs @@ -51,37 +51,37 @@ fn scene_correctness(){ assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraDefault); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenDefault); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithUpperRight)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithUpperRight)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::CameraWithUpperRight); assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraWithUpperRight); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenDefault); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithLargeUpperRight)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithLargeUpperRight)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::CameraWithLargeUpperRight); assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraWithLargeUpperRight); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenDefault); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithLowerRight)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::CameraWithLowerRight)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::CameraWithLowerRight); assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraWithLowerRight); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenDefault); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenDefault)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenDefault)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::ScreenDefault); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenDefault); assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraWithLowerRight); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenWithLowerRight)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenWithLowerRight)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::ScreenWithLowerRight); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenWithLowerRight); assert_eq!(stream_state.get_current_camera_sub_scene(), s_s::enums::Scenes::CameraWithLowerRight); - stream_state = stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenWithUpperRight)); + stream_state.update(StateUpdate::Scene(s_s::enums::Scenes::ScreenWithUpperRight)); assert_eq!(stream_state.get_current_scene(), s_s::enums::Scenes::ScreenWithUpperRight); assert_eq!(stream_state.get_current_screen_sub_scene(), s_s::enums::Scenes::ScreenWithUpperRight); @@ -94,35 +94,35 @@ fn test_updating() { let mut stream_state = s_s::stream_states_class::StreamStates::new(); assert_eq!(stream_state.timer_can_run, true); - stream_state = stream_state.update(StateUpdate::TimerCanRun(false)); + stream_state.update(StateUpdate::TimerCanRun(false)); assert_eq!(stream_state.timer_can_run, false); assert_eq!(stream_state.timer_length, 15.0); - stream_state = stream_state.update(StateUpdate::TimerLength(7.5)); + stream_state.update(StateUpdate::TimerLength(7.5)); assert_eq!(stream_state.timer_length, 7.5); assert_eq!(stream_state.timer_text, "0.0"); - stream_state = stream_state.update(StateUpdate::TimerText(String::from("7.5"))); + stream_state.update(StateUpdate::TimerText(String::from("7.5"))); assert_eq!(stream_state.timer_text, "7.5"); assert_eq!(stream_state.stream_running, false); - stream_state = stream_state.update(StateUpdate::StreamRunning(true)); + stream_state.update(StateUpdate::StreamRunning(true)); assert_eq!(stream_state.stream_running, true); assert_eq!(stream_state.stream_is_muted, false); - stream_state = stream_state.update(StateUpdate::StreamIsMuted(true)); + stream_state.update(StateUpdate::StreamIsMuted(true)); assert_eq!(stream_state.stream_is_muted, true); assert_eq!(stream_state.computer_sound_is_on, true); - stream_state = stream_state.update(StateUpdate::ComputerSoundIsOn(false)); + stream_state.update(StateUpdate::ComputerSoundIsOn(false)); assert_eq!(stream_state.computer_sound_is_on, false); assert_eq!(stream_state.change_scene_on_change_slide_hotkey, true); - stream_state = stream_state.update(StateUpdate::ChangeSceneOnChangeSlideHotkey(false)); + stream_state.update(StateUpdate::ChangeSceneOnChangeSlideHotkey(false)); assert_eq!(stream_state.change_scene_on_change_slide_hotkey, false); assert_eq!(stream_state.scene_is_augmented, false); - stream_state = stream_state.update(StateUpdate::SceneIsAugmented(true)); + stream_state.update(StateUpdate::SceneIsAugmented(true)); assert_eq!(stream_state.scene_is_augmented, true); } @@ -135,7 +135,7 @@ fn can_run_in_thread() { let mut stream_state = s_s::stream_states_class::StreamStates::new(); for received in rx { assert_eq!(received, StateUpdate::StreamRunning(true)); - stream_state = stream_state.update(received); + stream_state.update(received); assert_eq!(stream_state.stream_running, true); break; }