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

Fix failing unit test.

parent 94e0ed7f
No related branches found
No related tags found
1 merge request!7Draft: Resolve "Implement rudimental serialization of OpticScenery"
Pipeline #7507 canceled
......@@ -171,6 +171,13 @@ impl Optical for BeamSplitter {
fn node_type(&self) -> &str {
"beam splitter"
}
fn name(&self) -> &str {
if let Proptype::String(name)=&self.props.get("name").unwrap().prop {
name
} else {
"beam splitter"
}
}
fn ports(&self) -> OpticPorts {
let mut ports = OpticPorts::new();
ports.add_input("input1").unwrap();
......
......@@ -107,6 +107,13 @@ impl Optical for Source {
fn node_type(&self) -> &str {
"light source"
}
fn name(&self) -> &str {
if let Proptype::String(name)=&self.props.get("name").unwrap().prop {
name
} else {
"light source"
}
}
fn ports(&self) -> OpticPorts {
let mut ports = OpticPorts::new();
ports.add_output("out1").unwrap();
......
......@@ -312,9 +312,11 @@ impl Serialize for OpticScenery {
#[cfg(test)]
mod test {
use crate::nodes::Metertype;
use crate::properties::{Property, Proptype};
use super::super::nodes::{Dummy, BeamSplitter, EnergyMeter, Source};
use std::{fs::File,io::Read};
use std::io::Write;
use super::*;
#[test]
fn new() {
......@@ -409,8 +411,10 @@ mod test {
let mut scenery = OpticScenery::new();
scenery.set_description("SceneryTest".into());
let i_s = scenery.add_node(Source::default());
let i_bs = scenery.add_node(BeamSplitter::new(0.6).unwrap());
let i_s = scenery.add_node(Source::new("Source", LightData::Fourier));
let mut bs=BeamSplitter::new(0.6).unwrap();
bs.set_property("name", Property {prop: Proptype::String("Beam splitter".into())}).unwrap();
let i_bs = scenery.add_node(bs);
let i_d1 = scenery.add_node(EnergyMeter::new("Energy meter 1",Metertype::IdealEnergyMeter));
let i_d2 = scenery.add_node(EnergyMeter::new("Energy meter 2",Metertype::IdealEnergyMeter));
......@@ -421,6 +425,10 @@ mod test {
let scenery_dot_str_tb = scenery.to_dot("TB").unwrap();
let scenery_dot_str_lr = scenery.to_dot("LR").unwrap();
let path = "graph.dot";
let mut output = File::create(path).unwrap();
write!(output, "{}", scenery.to_dot("TB").unwrap()).unwrap();
assert_eq!(file_content_tb.clone(), scenery_dot_str_tb);
assert_eq!(file_content_lr.clone(), scenery_dot_str_lr);
}
......
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