1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use point::Point;


#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub struct Edge {
    pub p1: Point,
    pub p2: Point
}

impl Edge {
    pub fn new(p1: Point, p2: Point) -> Self {
        Edge {p1: p1, p2: p2}
    }
}


#[cfg(test)]
mod test {
    use point::Point;
    use edge::Edge;

    #[test]
    fn constructor() {
        let p1: Point = Point::new(0.0, 0.0);
        let p2: Point = Point::new(1.0, 1.0);
        let edge: Edge = Edge::new(p1, p2);

        assert_eq!(edge.p1.x, 0.0);
        assert_eq!(edge.p1.y, 0.0);
        assert_eq!(edge.p2.x, 1.0);
        assert_eq!(edge.p2.y, 1.0);
    }
}