From 05beb63e58b0e25eaccb447a35995d7c4e95e5ec Mon Sep 17 00:00:00 2001 From: jlizier Date: Tue, 18 Oct 2016 15:05:28 +1100 Subject: [PATCH] Added unit test for AND function --- .../discrete/MutualInformationTester.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/java/unittests/infodynamics/measures/discrete/MutualInformationTester.java b/java/unittests/infodynamics/measures/discrete/MutualInformationTester.java index ca69378..7306cb7 100755 --- a/java/unittests/infodynamics/measures/discrete/MutualInformationTester.java +++ b/java/unittests/infodynamics/measures/discrete/MutualInformationTester.java @@ -50,6 +50,21 @@ public class MutualInformationTester extends TestCase { assertEquals(0.0, miRand, 0.000001); } + public void testAnd() throws Exception { + MutualInformationCalculatorDiscrete miCalc = new MutualInformationCalculatorDiscrete(2, 0); + + int[] X1 = new int[] {0, 0, 1, 1}; + int[] X2 = new int[] {0, 1, 0, 1}; + int[] Y = new int[] {0, 0, 0, 1}; + + // Y is dependent on X1 - MI should be 0.311 bits + miCalc.initialise(); + miCalc.addObservations(X1, Y); + double miX1Y = miCalc.computeAverageLocalOfObservations(); + assertEquals(0.311, miX1Y, 0.001); + assertEquals(4, miCalc.getNumObservations()); + } + public void testXor() throws Exception { MutualInformationCalculatorDiscrete miCalc = new MutualInformationCalculatorDiscrete(2, 0);