1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- class Point {
- #x;
- #y;
- constructor(x = 0, y = 0) {
- this.#x = +x;
- this.#y = +y;
- }
- get x() { return this.#x }
- set x(value) { this.#x = +value }
- get y() { return this.#y }
- set y(value) { this.#y = +value }
- equals(p) { return this.#x === p.#x && this.#y === p.#y }
- toString() { return `Point<${ this.#x },${ this.#y }>` }
- }
- const p1 = new Point(1, 2);
- const p2 = new Point(2, 3);
- const p3 = new Point(1, 2);
- expect(p1.x).toBe(1);
- expect(p1.y).toBe(2);
- expect(p2.x).toBe(2);
- expect(p2.y).toBe(3);
- expect(p3.x).toBe(1);
- expect(p3.y).toBe(2);
- expect(p1.equals(p1)).toBe(true)
- expect(p1.equals(p2)).toBe(false)
- expect(p1.equals(p3)).toBe(true)
- expect(p2.equals(p1)).toBe(false)
- expect(p2.equals(p2)).toBe(true)
- expect(p2.equals(p3)).toBe(false)
- expect(p3.equals(p1)).toBe(true)
- expect(p3.equals(p2)).toBe(false)
- expect(p3.equals(p3)).toBe(true)
- expect(p1.toString()).toBe("Point<1,2>")
- expect(p2.toString()).toBe("Point<2,3>")
- expect(p3.toString()).toBe("Point<1,2>")
- p1.x += 1;
- p1.y = 3;
- p2.x -= 1;
- p2.y = 3;
- p3.x = 0;
- p3.y = 0;
- expect(p1.x).toBe(2);
- expect(p1.y).toBe(3);
- expect(p2.x).toBe(1);
- expect(p2.y).toBe(3);
- expect(p3.x).toBe(0);
- expect(p3.y).toBe(0);
- expect(p1.equals(p1)).toBe(true)
- expect(p1.equals(p2)).toBe(false)
- expect(p1.equals(p3)).toBe(false)
- expect(p2.equals(p1)).toBe(false)
- expect(p2.equals(p2)).toBe(true)
- expect(p2.equals(p3)).toBe(false)
- expect(p3.equals(p1)).toBe(false)
- expect(p3.equals(p2)).toBe(false)
- expect(p3.equals(p3)).toBe(true)
- expect(p1.toString()).toBe("Point<2,3>")
- expect(p2.toString()).toBe("Point<1,3>")
- expect(p3.toString()).toBe("Point<0,0>")
|