49 lines
843 B
Rust
49 lines
843 B
Rust
//! # Art
|
|
//!
|
|
//! A library for modeling artistic concepts
|
|
|
|
// These are re-exports
|
|
pub use self::kinds::PrimaryColor;
|
|
pub use self::kinds::SecondaryColor;
|
|
pub use self::utils::mix;
|
|
|
|
pub mod kinds {
|
|
pub enum PrimaryColor {
|
|
Red,
|
|
Yellow,
|
|
Blue,
|
|
}
|
|
|
|
pub enum SecondaryColor {
|
|
Orange,
|
|
Green,
|
|
Purple,
|
|
}
|
|
}
|
|
|
|
pub mod utils {
|
|
use crate::kinds::*;
|
|
|
|
/// Combines two primary colors in equal amounts to create
|
|
/// a secondary color
|
|
pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
|
|
SecondaryColor::Orange
|
|
// unimplemented!()
|
|
}
|
|
}
|
|
|
|
pub fn add(left: u64, right: u64) -> u64 {
|
|
left + right
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
let result = add(2, 2);
|
|
assert_eq!(result, 4);
|
|
}
|
|
}
|