public void And_two_target_facts_then_rules_are_generated_from_target_db_with_respect_to_projection_db() { //Given Database <string> database = new Database <string>(new List <string>() { "A", "B", "AB", "BC", "D" }); var mockMiner = new MockMiner(); mockMiner.Setup(database.Transactions, new List <string>() { "AB" }); var associationRuleGenerator = new AssociationRuleGenerator <string>(database, mockMiner, mockRuleGenerator, mockFilterer); //When var result = associationRuleGenerator.Generate(0.0, 0.0, targetFacts: new List <IFact <string> >() { factA, factB }); //Then Assert.True(mockMiner.ReceivedCorrectProjectedDatabase); Assert.True(mockMiner.ReceivedCorrectTargetDatabase); }
public void And_one_projection_fact_then_rules_are_generated_from_only_the_projected_database() { //Given var mockMiner = new MockMiner(); mockMiner.Setup(new List <string>() { "A", "AB" }, new List <string>() { "A", "AB" }); Database <string> database = new Database <string>(new List <string>() { "A", "B", "AB", "BC", "D" }); var associationRuleGenerator = new AssociationRuleGenerator <string>(database, mockMiner, mockRuleGenerator, mockFilterer); //When associationRuleGenerator.Generate(0.0, 0.0, new List <IFact <string> >() { factA }); //Then Assert.True(mockMiner.ReceivedCorrectProjectedDatabase); Assert.True(mockMiner.ReceivedCorrectTargetDatabase); }