derive-cmp-ops 0.1.0

Derives for componetwise opperations
Documentation
use derive_cmp_ops::{CmpAdd, CmpAddAssign, CmpDiv, CmpDivAssign, CmpMul, CmpMulAssign, CmpNeg, CmpOps, CmpRem, CmpRemAssign, CmpSub, CmpSubAssign};
#[derive(PartialEq, Eq, Debug)]
#[derive(CmpAdd, CmpSub, CmpMul, CmpDiv, CmpRem, CmpAddAssign, CmpSubAssign, CmpMulAssign, CmpDivAssign, CmpRemAssign, CmpNeg)]
struct Foo{
    x: i16,
    b: i32
}

#[derive(CmpOps)]
struct Bar{
    a: i16,
    b: f64
}
fn main(){
    
}
#[test]
fn add(){
    assert_eq!(Foo{ x: 1, b: 9 } + Foo{ x: -4, b: 0 }, Foo{ x: -3,  b: 9 });
}
#[test]
fn sub(){
    assert_eq!(Foo{ x: 1, b: 9 } - Foo{ x: -4, b: 0 }, Foo{ x: 5,  b: 9 });
}
#[test]
fn mul(){
    assert_eq!(Foo{ x: 1, b: 9 } * Foo{ x: -4, b: 0 }, Foo{ x: -4,  b: 0 });
}
#[test]
fn div(){
    assert_eq!(Foo{ x: 6, b: 9 } / Foo{ x: 3, b: 1 }, Foo{ x: 2,  b: 9 });
}
#[test]
fn rem(){
    assert_eq!(Foo{ x: 3, b: 2 } % Foo{ x: 2, b: 1 }, Foo{ x: 1, b: 0 });
}
#[test]
fn neg(){
    assert_eq!(-Foo{ x: 2, b: 1 }, Foo{ x: -2, b: -1 });
}