Exemplo n.º 1
0
            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);
            }
Exemplo n.º 2
0
            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);
            }