public void Did_TransactionDatabase_CreateUniqueItemList_Populates_Correct() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); transactions.CreateUniqueItemsList(); Assert.AreEqual(4, transactions.UniqueItems.Items.Count, "UniqueItemsList populates incorrectly"); }
public void Did_TransactionDatabase_Support_Returns_Correct() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,D,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var support = transactions.GetSupportOfTransaction(new Transaction("A,B,C")); Assert.AreEqual(0.75, support, "GetSupportOfTransaction is not equals to 0.75"); }
public void Did_TransactionDatabase_Conviction_Returns_Correct() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var conviction = transactions.GetConvictionOfTransactions(new Transaction("A,B"), new Transaction("D")); Assert.AreEqual(1, conviction, "GetConvictionOfTransactions is not equals to 1"); conviction = transactions.GetConvictionOfTransactions(new Transaction("A,B"), new Transaction("A,B")); Assert.AreEqual(double.NaN, conviction, "GetConvictionOfTransactions is not equals to NaN"); }
public void Did_TransactionDatabase_Lift_Returns_Correct() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var lift = transactions.GetLiftOfTransactions(new Transaction("A,B"), new Transaction("D")); Assert.AreEqual(1, lift, "GetLiftOfTransaction is not equals to 0.25"); lift = transactions.GetLiftOfTransactions(new Transaction("A,B"), new Transaction("A,B")); Assert.AreEqual(1, lift, "GetLiftOfTransaction is not equals to 1"); }
public void Did_TransactionDatabase_Confidence_Returns_Correct() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var support = transactions.GetConfidenceOfTransactions(new Transaction("A,B"), new Transaction("D")); Assert.AreEqual(0.25, support, "GetSupportOfTransaction is not equals to 0.25"); support = transactions.GetConfidenceOfTransactions(new Transaction("A,B"), new Transaction("A,B")); Assert.AreEqual(1, support, "GetSupportOfTransaction is not equals to 1"); }
public void Did_ItemTransaction_Load_Transactions_From_Transaction_Database() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,D,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var itemTransaction = new ItemTransactions(); itemTransaction.GetTransactionsFromDatabase(transactions); Assert.AreEqual(4, itemTransaction.TransactionList.Count, "GetMaxTransactionLength is not equals to 4"); }
public void Did_ItemsTransactionList_Load_Transactions_From_Transaction_Database() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,D,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); var item1 = new Item("A"); var item2 = new Item("B"); var itemList = new ItemList(); itemList.Items.Add(item1); itemList.Items.Add(item2); var itemsTransactionList = new ItemsTransactionList(itemList); itemsTransactionList.AddTransactionsInTransactionDatabaseToList(transactions); Assert.AreEqual(4, itemsTransactionList.Transactions.Count, "itemsTransactionList.Transactions.Count is not equals to 1"); }
public void Eclat_Calcuates_Transactions_Support_Right() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); transactions.AddTransaction(new Transaction("D")); transactions.AddTransaction(new Transaction("E")); var eclat = new Eclat(transactions); eclat.Run(); Assert.IsTrue(eclat.IsTransactionSupported(new Transaction("A,B")), "Apriori algorithm did not works right as new Transaction(\"A,B\") is not included in Supported Transactions List"); Assert.IsFalse(eclat.IsTransactionSupported(new Transaction("D,E")), "Apriori algorithm did not works right as new Transaction(\"D,E\") is included in Supported Transactions List"); }
public void Eclat_Creation_Default_Constructor_Name() { var transactions = new TransactionDatabase(); transactions.AddTransaction(new Transaction("A,B,C,D")); transactions.AddTransaction(new Transaction("A,B,C,A")); transactions.AddTransaction(new Transaction("A,B")); transactions.AddTransaction(new Transaction("A,B,C")); transactions.AddTransaction(new Transaction("D")); transactions.AddTransaction(new Transaction("E")); var eclat = new Eclat(transactions, 0.2); eclat.Run(); Assert.AreEqual(8, eclat.TransactionCountWithSupport(), "Apriori Algorithm results wrong amount of transaction."); eclat = new Eclat(transactions); eclat.Run(); Assert.AreEqual(16, eclat.TransactionCountWithSupport(), "Apriori Algorithm results wrong amount of transaction."); Assert.IsTrue(eclat.IsTransactionSupported(new Transaction("A,B")), "Apriori algorithm did not works right as new Transaction(\"A,B\") is not included in Supported Transactions List"); }