implement From for Colour
This commit is contained in:
parent
7b941b5d99
commit
b09b9dbece
18
src/main.rs
18
src/main.rs
|
@ -589,20 +589,22 @@ fn test_tile_to_string() {
|
||||||
assert_eq!(output, expected);
|
assert_eq!(output, expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn colour_from_string(colour: String) -> Colour {
|
impl From<String> for Colour {
|
||||||
let values: Vec<&str> = colour.split(',').collect();
|
fn from(string: String) -> Colour {
|
||||||
|
let values: Vec<&str> = string.split(',').collect();
|
||||||
|
|
||||||
let red: u8 = values[0].parse().unwrap_or(0);
|
let red: u8 = values[0].parse().unwrap_or(0);
|
||||||
let green: u8 = values[1].parse().unwrap_or(0);
|
let green: u8 = values[1].parse().unwrap_or(0);
|
||||||
let blue: u8 = values[2].parse().unwrap_or(0);
|
let blue: u8 = values[2].parse().unwrap_or(0);
|
||||||
|
|
||||||
Colour { red, green, blue }
|
Colour { red, green, blue }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_colour_from_string() {
|
fn test_colour_from_string() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
colour_from_string("0,255,0".to_string()),
|
Colour::from("0,255,0".to_string()),
|
||||||
Colour { red: 0, green: 255, blue: 0 }
|
Colour { red: 0, green: 255, blue: 0 }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -635,7 +637,7 @@ fn palette_from_string(palette: String) -> Palette {
|
||||||
let colour_start_index = if name.is_some() {2} else {1};
|
let colour_start_index = if name.is_some() {2} else {1};
|
||||||
|
|
||||||
let colours = lines[colour_start_index..].iter().map(|&line| {
|
let colours = lines[colour_start_index..].iter().map(|&line| {
|
||||||
colour_from_string(line.to_string())
|
Colour::from(line.to_string())
|
||||||
}).collect();
|
}).collect();
|
||||||
|
|
||||||
Palette { id, name, colours }
|
Palette { id, name, colours }
|
||||||
|
|
Loading…
Reference in New Issue