fitnesse.testutil.CartesianVector Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fitnesse Show documentation
Show all versions of fitnesse Show documentation
The fully integrated standalone wiki, and acceptance testing framework.
// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package fitnesse.testutil;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CartesianVector {
private double x = 0;
private double y = 0;
public CartesianVector() {
}
public CartesianVector(double x, double y) {
this.x = x;
this.y = y;
}
public static CartesianVector parse(String s) {
Pattern vectorPattern = Pattern.compile("\\((.*),(.*)\\)");
Matcher vectorMatcher = vectorPattern.matcher(s);
if (vectorMatcher.matches()) {
double x = Double.parseDouble(vectorMatcher.group(1));
double y = Double.parseDouble(vectorMatcher.group(2));
return new CartesianVector(x, y);
}
return null;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof CartesianVector) {
CartesianVector v = (CartesianVector) obj;
if (v.x == x && v.y == y)
return true;
}
return false;
}
@Override
public int hashCode() {
assert false : "hashCode not designed";
return 42;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public CartesianVector add(CartesianVector v) {
return new CartesianVector(v.getX() + x, v.getY() + y);
}
}