homework: remove new constructor from PowerSocket

This commit is contained in:
3 changed files with 6 additions and 21 deletions

View File

@@ -41,7 +41,6 @@ impl PrintStatus for Device {
#[cfg(test)]
mod tests {
use super::*;
use crate::power_socket::PowerSocketStub;
use crate::{PowerSocket, Thermometer};
#[test]
@@ -64,7 +63,7 @@ mod tests {
#[test]
fn display_test() {
let dev_thermometer = Device::Thermometer(Thermometer::new(20.1));
let dev_power_socket = Device::PowerSocket(PowerSocket::new(Box::new(PowerSocketStub::new(11.2, false))));
let dev_power_socket = Device::PowerSocket(PowerSocket::stub(11.2, false));
assert_eq!(format!("{}", dev_thermometer.display()), "DEV:Thermometer[ 20.1 ]");
assert_eq!(format!("{}", dev_power_socket.display()), "DEV:PowerSocket[ OFF : 0.0 ]");

View File

@@ -22,10 +22,6 @@ impl PowerSocket {
}
}
pub fn new(handle: Box<dyn PowerSocketHandle>) -> Self {
Self { handle }
}
pub fn is_on(&self) -> bool {
self.handle.is_on()
}
@@ -132,7 +128,7 @@ mod tests {
#[test]
fn smoke_test() {
let mut power_socket = PowerSocket::new(Box::new(PowerSocketStub::new(12.4, false)));
let mut power_socket = PowerSocket::stub(12.4, false);
assert!(!power_socket.is_on());
assert_eq!(power_socket.get_power(), 0.0);
@@ -143,17 +139,8 @@ mod tests {
#[test]
fn display_test() {
assert_eq!(
format!("{}", PowerSocket::new(Box::new(PowerSocketStub::new(11.549, false))).display()),
"PowerSocket[ OFF : 0.0 ]"
);
assert_eq!(
format!("{}", PowerSocket::new(Box::new(PowerSocketStub::new(11.549, true))).display()),
"PowerSocket[ ON : 11.5 ]"
);
assert_eq!(
format!("{}", PowerSocket::new(Box::new(PowerSocketStub::new(11.550, true))).display()),
"PowerSocket[ ON : 11.6 ]"
);
assert_eq!(format!("{}", PowerSocket::stub(11.549, false).display()), "PowerSocket[ OFF : 0.0 ]");
assert_eq!(format!("{}", PowerSocket::stub(11.549, true).display()), "PowerSocket[ ON : 11.5 ]");
assert_eq!(format!("{}", PowerSocket::stub(11.550, true).display()), "PowerSocket[ ON : 11.6 ]");
}
}

View File

@@ -49,12 +49,11 @@ macro_rules! room {
#[cfg(test)]
mod tests {
use super::*;
use crate::power_socket::PowerSocketStub;
use crate::{PowerSocket, Thermometer};
fn create_test_room() -> Room {
room!(
"PSoc" => PowerSocket::new(Box::new(PowerSocketStub::new(12.34, false))),
"PSoc" => PowerSocket::stub(12.34, false),
"Therm" => Thermometer::new(21.56),
)
}