private static void testSources(TwoWayAnova target)
{
AnovaVariationSource cells = target.Sources.Cells;
Assert.AreEqual("Cells", cells.Source);
Assert.AreEqual(1461.3254999999995, cells.SumOfSquares);
Assert.AreEqual(3, cells.DegreesOfFreedom);
Assert.IsTrue(target.Table.Contains(cells));
AnovaVariationSource error = target.Sources.Error;
Assert.AreEqual("Within-cells (error)", error.Source);
Assert.AreEqual(301.39200000000005, error.SumOfSquares);
Assert.AreEqual(16, error.DegreesOfFreedom);
Assert.IsTrue(target.Table.Contains(error));
AnovaVariationSource factorA = target.Sources.FactorA;
Assert.AreEqual("Factor A", factorA.Source);
Assert.AreEqual(1386.1125, factorA.SumOfSquares, 1e-4);
Assert.AreEqual(1, factorA.DegreesOfFreedom);
Assert.AreEqual(1386.1125, factorA.MeanSquares, 1e-4);
Assert.AreEqual(73.58, factorA.Significance.Statistic, 1e-2);
Assert.AreEqual(1, factorA.Significance.DegreesOfFreedom1);
Assert.AreEqual(16, factorA.Significance.DegreesOfFreedom2);
Assert.IsTrue(factorA.Significance.Significant);
AnovaVariationSource factorB = target.Sources.FactorB;
Assert.AreEqual("Factor B", factorB.Source);
Assert.AreEqual(70.3125, factorB.SumOfSquares, 1e-4);
Assert.AreEqual(1, factorB.DegreesOfFreedom);
Assert.AreEqual(70.3125, factorB.MeanSquares, 1e-4);
Assert.AreEqual(3.73, factorB.Significance.Statistic, 1e-2);
Assert.AreEqual(1, factorB.Significance.DegreesOfFreedom1);
Assert.AreEqual(16, factorB.Significance.DegreesOfFreedom2);
Assert.IsFalse(factorB.Significance.Significant);
AnovaVariationSource interaction = target.Sources.Interaction;
Assert.AreEqual("Interaction AxB", interaction.Source);
Assert.AreEqual(4.9005, interaction.SumOfSquares, 1e-4);
Assert.AreEqual(1, interaction.DegreesOfFreedom);
Assert.AreEqual(4.9005, interaction.MeanSquares, 1e-4);
Assert.AreEqual(0.260, interaction.Significance.Statistic, 1e-3);
Assert.AreEqual(1, interaction.Significance.DegreesOfFreedom1);
Assert.AreEqual(16, interaction.Significance.DegreesOfFreedom2);
Assert.IsFalse(interaction.Significance.Significant);
}
}