use crate::*;
#[test]
fn vec2(){
{ let vec_t = Vec2{x: 5, y:7};
let vec = Vec2::new(5,7);
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 0, y: 0};
let vec = Vec2::default();
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 7, y: 16};
let vec1 = Vec2{x: 4, y: 8};
let vec2 = Vec2{x: 3, y: 8};
let vec = vec1 + vec2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 5, y: 9};
let vec1 = Vec2{x: 4, y: 8};
let vec = vec1 + 1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 7, y: 16};
let vec1 = Vec2{x: 4, y: 8};
let mut vec = Vec2{x: 3, y: 8};
vec += vec1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 5, y: 9};
let mut vec = Vec2{x: 4, y: 8};
vec += 1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 2, y: 2};
let vec1 = Vec2{x: 4, y: 8};
let vec2 = Vec2{x: 2, y: 4};
let vec = vec1 / vec2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 2, y: 4};
let vec1 = Vec2{x: 4, y: 8};
let vec = vec1 / 2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 2, y: 2};
let vec1 = Vec2{x: 2, y: 4};
let mut vec = Vec2{x: 4, y: 8};
vec /= vec1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 2, y: 4};
let mut vec = Vec2{x: 4, y: 8};
vec /= 2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: -2, y: -7};
let vec = Vec2{x: 2, y: 7};
let vec = -vec;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 1, y: 1};
let vec1 = Vec2{x: 5, y: 3};
let vec2 = Vec2{x: 2, y: 2};
let vec = vec1 % vec2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 1, y: 1};
let vec1 = Vec2{x: 5, y: 3};
let vec = vec1 % 2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 1, y: 1};
let vec1 = Vec2{x: 2, y: 2};
let mut vec = Vec2{x: 5, y: 3};
vec %= vec1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: 1, y: 1};
let mut vec = Vec2{x: 5, y: 3};
vec %= 2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: -9, y: 89};
let vec1 = Vec2{x: 3, y: 96};
let vec2 = Vec2{x: 12, y: 7};
let vec = vec1 - vec2;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: -9, y: 84};
let vec1 = Vec2{x: 3, y: 96};
let vec = vec1 - 12;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: -9, y: 89};
let vec1 = Vec2{x: 12, y: 7};
let mut vec = Vec2{x: 3, y: 96};
vec -= vec1;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2{x: -9, y: 84};
let mut vec = Vec2{x: 3, y: 96};
vec -= 12;
assert_eq!(vec, vec_t);
}
{ let vec_t = Vec2i32::new(-5, 5);
let mut vec = Vec2i32::new(5, -5);
vec.flip();
assert_eq!(vec, vec_t);
}
}
#[test]
fn semver(){
{ let sv_t = SemVer{major: 0, minor: 3, patch: 9, extra_field: "beta".to_owned()};
let sv = SemVer::new(0,3,9,"beta".to_owned());
assert_eq!(sv, sv_t)
}
{ let sv_t = SemVer{major: 0, minor: 1, patch: 0, extra_field: "".to_owned()};
let sv = SemVer::default();
assert_eq!(sv, sv_t)
}
{ let sv_t = SemVer{major: 7, minor: 0, patch: 4, extra_field: "alpha".to_owned()};
let sv = SemVer::from_string("7.0.4-alpha".to_owned()).unwrap();
assert_eq!(sv, sv_t)
}
{ let sv_ts = String::from("5.9.4");
let sv_ts2 = String::from("5.9.4-rc.1");
let sv = SemVer::from_string("5.9.4".to_owned()).unwrap();
let sv2 = SemVer::from_string("5.9.4-rc.1".to_owned()).unwrap();
let sv = sv.to_string();
let sv2 = sv2.to_string();
assert_eq!(sv, sv_ts);
assert_eq!(sv2, sv_ts2);
}
{ let sv_t = SemVer::new(-1, 0, -6, String::new());
let sv1 = SemVer::new(2,8,7, String::new());
let sv2 = SemVer::new(3,8,13, String::new());
let sv = sv1.difference(&sv2);
assert_eq!(sv, sv_t)
}
}