omg_serde 0.1.0

Adds serde support to omg_core.
Documentation
use omg_core::data::color::Color;
use serde::{Deserialize, Serialize};

#[derive(Clone, Serialize, Deserialize)]
pub struct ColorSerde {
    r: u8,
    g: u8,
    b: u8,
}

impl From<ColorSerde> for Color {
    fn from(color: ColorSerde) -> Self {
        Color::new(color.r, color.g, color.b)
    }
}

impl From<Color> for ColorSerde {
    fn from(color: Color) -> Self {
        ColorSerde {
            r: color.r(),
            g: color.g(),
            b: color.b(),
        }
    }
}

#[cfg(test)]
mod tests {
    use super::*;
    use omg_core::data::color::ORANGE;

    #[test]
    fn test_conversion() {
        let color = ORANGE;
        let serde: ColorSerde = color.into();
        let result: Color = serde.into();

        assert_eq!(result, color)
    }
}