001package edu.pdx.cs.joy.rmi;
002
003import static org.junit.jupiter.api.Assertions.assertTrue;
004import org.junit.jupiter.api.Test;
005
006import java.util.Arrays;
007
008/**
009 * This is a JUnit test that tests solving a system of equations using
010 * {@link GaussianElimination}.
011 */
012public class GaussianEliminationTest {
013
014  @Test
015  public void testTwoEquations() {
016    double[][] a = { { 4.0, 3.0 }, { 3.0, 2.0 } };
017    double[] b = { 31.0, 22.0 };
018    double[] expected = { 4.0, 5.0 };
019
020    double[] actual = GaussianElimination.solve(a, b);
021    assertTrue(Arrays.equals(expected, actual));
022  }
023
024  @Test
025  public void testThreeEquations() {
026    double[][] a = { { 4.0, 3.0, 1.0 }, 
027                     { 2.0, -6.0, 4.0 },
028                     { 7.0, 5.0, 3.0 } };
029    double[] b = { 17.0, 8.0, 32.0 };
030    double[] expected = { 3.0, 1.0, 2.0 };
031
032    double[] actual = GaussianElimination.solve(a, b);
033    assertTrue(Arrays.equals(expected, actual));
034  }
035
036}