Skip to content
Snippets Groups Projects
Commit 1360b13f authored by Udo Eisenbarth's avatar Udo Eisenbarth :speech_balloon:
Browse files

Slight code cleanup

parent 0c04387d
No related branches found
No related tags found
No related merge requests found
...@@ -27,7 +27,7 @@ impl OpticNode { ...@@ -27,7 +27,7 @@ impl OpticNode {
name: name.into(), name: name.into(),
node: node_type, node: node_type,
inverted: false, inverted: false,
ports: ports ports
} }
} }
/// Sets the name of this [`OpticNode`]. /// Sets the name of this [`OpticNode`].
......
use std::{collections::HashSet, mem::swap};
use crate::error::OpossumError; use crate::error::OpossumError;
use std::{collections::HashSet, mem::swap};
#[derive(Default, Debug)] #[derive(Default, Debug)]
pub struct OpticPorts { pub struct OpticPorts {
...@@ -12,35 +12,39 @@ impl OpticPorts { ...@@ -12,35 +12,39 @@ impl OpticPorts {
Self::default() Self::default()
} }
pub fn inputs(&self) -> Vec<String> { pub fn inputs(&self) -> Vec<String> {
let v = self.inputs.clone().into_iter().collect::<Vec<String>>(); self.inputs.clone().into_iter().collect::<Vec<String>>()
v
} }
pub fn outputs(&self) -> Vec<String> { pub fn outputs(&self) -> Vec<String> {
let v = self.outputs.clone().into_iter().collect::<Vec<String>>(); self.outputs.clone().into_iter().collect::<Vec<String>>()
v
} }
pub fn add_input(&mut self, name: &str) -> Result<(),OpossumError> { pub fn add_input(&mut self, name: &str) -> Result<(), OpossumError> {
if self.inputs.insert(name.into()) { if self.inputs.insert(name.into()) {
Ok(()) } Ok(())
else { } else {
Err(OpossumError::OpticPort(format!("input port with name {} already exists",name))) Err(OpossumError::OpticPort(format!(
} "input port with name {} already exists",
name
)))
}
} }
pub fn add_output(&mut self, name: &str) -> Result<(),OpossumError> { pub fn add_output(&mut self, name: &str) -> Result<(), OpossumError> {
if self.outputs.insert(name.into()) { if self.outputs.insert(name.into()) {
Ok(()) } Ok(())
else { } else {
Err(OpossumError::OpticPort(format!("output port with name {} already exists",name))) Err(OpossumError::OpticPort(format!(
} "output port with name {} already exists",
name
)))
}
} }
pub fn invert(&mut self) { pub fn invert(&mut self) {
swap(&mut self.inputs,&mut self.outputs); swap(&mut self.inputs, &mut self.outputs);
} }
} }
#[cfg(test)] #[cfg(test)]
mod test { mod test {
use crate::optic_ports::{OpticPorts}; use crate::optic_ports::OpticPorts;
#[test] #[test]
fn new() { fn new() {
let ports = OpticPorts::new(); let ports = OpticPorts::new();
...@@ -78,7 +82,7 @@ mod test { ...@@ -78,7 +82,7 @@ mod test {
let mut ports = OpticPorts::new(); let mut ports = OpticPorts::new();
ports.add_input("Test1").unwrap(); ports.add_input("Test1").unwrap();
ports.add_input("Test2").unwrap(); ports.add_input("Test2").unwrap();
let mut v=ports.inputs(); let mut v = ports.inputs();
v.sort(); v.sort();
assert_eq!(v, vec!["Test1".to_string(), "Test2".to_string()]); assert_eq!(v, vec!["Test1".to_string(), "Test2".to_string()]);
} }
...@@ -87,7 +91,7 @@ mod test { ...@@ -87,7 +91,7 @@ mod test {
let mut ports = OpticPorts::new(); let mut ports = OpticPorts::new();
ports.add_output("Test1").unwrap(); ports.add_output("Test1").unwrap();
ports.add_output("Test2").unwrap(); ports.add_output("Test2").unwrap();
let mut v=ports.outputs(); let mut v = ports.outputs();
v.sort(); v.sort();
assert_eq!(v, vec!["Test1".to_string(), "Test2".to_string()]); assert_eq!(v, vec!["Test1".to_string(), "Test2".to_string()]);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment