hamlocator/src/tests/maidenhead_tests.vala

53 wiersze
2.0 KiB
Vala

public class MaidenheadTests : TestCase {
public MaidenheadTests() {
base("Maidenhead Tests");
add_test_maidenhead(0.0, 0.0, "JJ00aa");
add_test_maidenhead(90.0, 0.0, "JS00aa");
add_test_maidenhead(0.0, 180.0, "SJ00aa");
add_test_maidenhead(90.0, 180.0, "SS00aa");
add_test_maidenhead(-90.0, 0.0, "JA00aa");
add_test_maidenhead(0.0, -180.0, "AJ00aa");
add_test_maidenhead(-90.0, -180.0, "AA00aa");
add_test_maidenhead(90.0, -180.0, "AS00aa");
add_test_maidenhead(-90.0, 180.0, "SA00aa");
add_test_maidenhead(51.0, 17.0, "JO80lx");
add_test_maidenhead(51.1, 17.1, "JO81nc");
add_test_maidenhead(51.2, 17.2, "JO81oe");
add_test_maidenhead(51.3, 17.3, "JO81ph");
add_test_maidenhead(51.4, 17.4, "JO81qj");
add_test_maidenhead(51.5, 17.5, "JO81sm");
add_test_maidenhead(51.6, 17.6, "JO81to");
add_test_maidenhead(51.7, 17.7, "JO81uq");
add_test_maidenhead(51.8, 17.8, "JO81vt");
add_test_maidenhead(51.9, 17.9, "JO81wv");
add_test_maidenhead(51.99, 17.99, "JO81xx");
add_test_maidenhead(51.1205, 17.0261, "JO81mc");
add_test_maidenhead(37.1104, -5.4932, "IM77gc");
add_test_maidenhead(-30.5377, 22.8516, "KF19kl");
add_test_maidenhead(-27.4613, -65.0391, "FG72lm");
add_test_maidenhead(-24.6168, 136.4063, "PG85ej");
}
protected Hamlocator.MaidenheadConverter tested;
public override void set_up() {
this.tested = new Hamlocator.MaidenheadConverter();
}
public void add_test_maidenhead(double lat, double lon, string locator) {
add_test (@"Expect location lat:$lat lon:$lon to be $locator", () => {
GClue.Location pos = new SimpleLocation(lat, lon);
assert_cmpstr(this.tested.location_to_maidenhead(pos), EQ, locator);
});
add_test (@"Expect location at $locator to be approx. lat:$lat lon:$lon", () => {
GClue.Location pos = this.tested.maidenhead_to_location(locator);
assert_nonnull(pos);
assert_cmpfloat_with_epsilon(pos.latitude, lat, (1.0/24.0));
assert_cmpfloat_with_epsilon(pos.longitude, lon, (2.0/24.0));
});
}
}