Updated tests and fixed grammar
This commit is contained in:
@@ -1,39 +1,39 @@
|
||||
pub module impl_test;
|
||||
|
||||
struct Vector2 {
|
||||
x i32,
|
||||
y i32,
|
||||
i32 x,
|
||||
i32 y,
|
||||
}
|
||||
|
||||
impl Vector2 {
|
||||
pub fn i32 magnitude(*self) {
|
||||
pub i32 magnitude(&self) {
|
||||
self.x * self.x + self.y * self.y
|
||||
}
|
||||
}
|
||||
|
||||
pub fn void test_inherent_impl() {
|
||||
pub void test_inherent_impl() {
|
||||
let v = Vector2 { x: 3, y: 4 };
|
||||
assert_eq!(v.magnitude(), 25);
|
||||
}
|
||||
|
||||
trait Display {
|
||||
fn String display(*self);
|
||||
String display(&self);
|
||||
}
|
||||
|
||||
impl Display for Vector2 {
|
||||
fn String display(*self) {
|
||||
String display(&self) {
|
||||
format!("({}, {})", self.x, self.y)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn void test_trait_impl_block() {
|
||||
pub void test_trait_impl_block() {
|
||||
let v = Vector2 { x: 1, y: 2 };
|
||||
let s = v.display();
|
||||
assert_eq!(s.len() > 0, true);
|
||||
}
|
||||
|
||||
impl Vector2 {
|
||||
pub fn Vector2 add(*self, other Vector2) {
|
||||
pub Vector2 add(&self, Vector2 other) {
|
||||
Vector2 {
|
||||
x: self.x + other.x,
|
||||
y: self.y + other.y,
|
||||
@@ -41,7 +41,7 @@ impl Vector2 {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn void test_multiple_impls() {
|
||||
pub void test_multiple_impls() {
|
||||
let a = Vector2 { x: 1, y: 2 };
|
||||
let b = Vector2 { x: 3, y: 4 };
|
||||
let c = a.add(b);
|
||||
@@ -49,7 +49,7 @@ pub fn void test_multiple_impls() {
|
||||
assert_eq!(c.y, 6);
|
||||
}
|
||||
|
||||
pub fn void run_tests() {
|
||||
pub void run_tests() {
|
||||
test_inherent_impl();
|
||||
test_trait_impl_block();
|
||||
test_multiple_impls();
|
||||
|
||||
Reference in New Issue
Block a user