package uk.co.flyingsquirrels.aero;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.closeTo;
import static org.hamcrest.Matchers.equalTo;
import org.junit.Test;
public class AirfoilTableTest {
private final AirfoilTable airfoil = new AirfoilTable("63018");
@Test
public void getName() {
assertThat(airfoil.getName(), equalTo("NACA 63-018"));
}
@Test
public void getReynolds() {
assertThat(airfoil.getReynolds(), equalTo(2000000l));
}
@Test
public void getDataLength() {
assertThat(airfoil.getDataLength(), equalTo(361));
}
@Test
public void getAlpha() {
double[] data = airfoil.getAlpha();
assertThat(data[0], closeTo(-3.1415, 0.0001));
assertThat(data[1], closeTo(-3.1241, 0.0001));
assertThat(data[2], closeTo(-3.1067, 0.0001));
assertThat(data[data.length-2], closeTo(3.1241, 0.0001));
assertThat(data[data.length-1], closeTo(3.1415, 0.0001));
}
@Test
public void getCl() {
double[] data = airfoil.getCl();
assertThat(data[0], equalTo(0.000));
assertThat(data[1], equalTo(-0.111));
assertThat(data[2], equalTo(-0.221));
assertThat(data[data.length-2], equalTo(0.111));
assertThat(data[data.length-1], equalTo(0.000));
}
@Test
public void getCd() {
double[] data = airfoil.getCd();
assertThat(data[0], equalTo(0.00598));
assertThat(data[1], equalTo(0.00594));
assertThat(data[2], equalTo(0.00656));
assertThat(data[data.length-2], equalTo(0.00594));
assertThat(data[data.length-1], equalTo(0.00598));
}
@Test
public void getCm() {
double[] data = airfoil.getCm();
assertThat(data[0], equalTo(-0.000));
assertThat(data[1], equalTo(-0.002));
assertThat(data[2], equalTo(-0.004));
assertThat(data[data.length-2], equalTo(0.002));
assertThat(data[data.length-1], equalTo(-0.000));
}
}