コード例 #1
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testPut(self):
     Table = ht.HashTable(5)
     Table.put(testSong08.Artist, testSong08)
     Table.put(testSong09.Artist, testSong09)
     self.assertEqual(2, Table.size)
     self.assertEqual([testSong08.Artist], Table.keys)
     self.assertEqual([testSong08, testSong09], Table.values)
コード例 #2
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testSearch(self):
     Table = ht.HashTable(100)
     Table.put(testSong10.Artist, testSong10)
     Table.put(testSong09.Artist, testSong09)
     Table.put(testSong03.Artist, testSong03)
     Table.put(testSong05.Artist, testSong05)
     self.assertEqual(Table.h1(testSong10.Artist),
                      Table.search(testSong10.Artist))
     self.assertEqual(Table.h1(testSong09.Artist),
                      Table.search(testSong09.Artist))
     self.assertEqual(Table.h1(testSong03.Artist),
                      Table.search(testSong03.Artist))
     self.assertEqual(29, Table.search(testSong05.Artist))
コード例 #3
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testGet(self):
     Table = ht.HashTable(100)
     Table.put(testSong00.Artist, testSong00)
     Table.put(testSong02.Artist, testSong02)
     Table.put(testSong03.Artist, testSong03)
     Table.put(testSong04.Artist, testSong04)
     Table.put(testSong05.Artist, testSong05)
     self.assertEqual([testSong00, testSong05],
                      Table.get(testSong00.Artist))
     self.assertEqual([testSong00, testSong05],
                      Table.get(testSong05.Artist))
     self.assertEqual([testSong02], Table.get(testSong02.Artist))
     self.assertEqual([testSong03], Table.get(testSong03.Artist))
     self.assertEqual([testSong04], Table.get(testSong04.Artist))
コード例 #4
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testRemove(self):
     Table = ht.HashTable(10)
     Table.put(testSong10.Artist, testSong10)
     desiredResult1 = 1
     desiredResult2 = 0
     desiredResult3 = []
     desiredResult4 = [testSong10]
     desiredResult5 = [[], [], [], [], [], [], [], [], [], []]
     desiredResult6 = [testSong10.Artist]
     self.assertEqual(desiredResult1, Table.size)
     self.assertEqual(desiredResult4, Table.values)
     self.assertEqual(desiredResult6, Table.keys)
     Table.remove('One Direction')
     self.assertEqual(desiredResult2, Table.size)
     self.assertEqual(desiredResult3, Table.keys)
     self.assertEqual(desiredResult3, Table.values)
     self.assertEqual(desiredResult5, Table.table)
コード例 #5
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testSaveData(self):
     try:
         desiredResult = "[['Flight of the Conchords,Robots,BNC61-OOPdA,4100,59,559964,False,0,0,0'], " \
                         "['Crush,Tessa Violet,SiAuAJBZuGs,111000,4300,1969889,False,0,0,0'], " \
                         "['gnash,home,6cwBLBCehGg,0,0,0,False,0,0,0'], " \
                         "['alt-j,in cold blood,rP0uuI80wuY,74000,2000,9059467,False,0,0,0']]"
         mht.clear()
         dataList = ht.HashTable()
         dataList.put(testSong12.Artist, testSong12)
         dataList.put(testSong11.Artist, testSong11)
         dataList.put(testSong00.Artist, testSong00)
         dataList.put(testSong13.Artist, testSong13)
         mht.saveData(dataList)
         results = str(mht.readData())  # gather results
         self.assertEqual(desiredResult, results)
     except ValueError and AttributeError as e:
         error(str(e))
         pass
コード例 #6
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
    def testRehash(self):
        desiredResult1 = 10
        desiredResult3 = [
            testSong01.Artist, testSong06.Artist, testSong05.Artist
        ]
        desiredResult4 = [testSong01, testSong06, testSong05, testSong07]
        desiredResult5 = 4
        desiredResult6 = 1
        Table = ht.HashTable(5)
        Table.put(testSong01.Artist, testSong01)
        Table.put(testSong06.Artist, testSong06)
        Table.put(testSong05.Artist, testSong05)
        Table.put(testSong07.Artist, testSong07)

        Table.rehash()
        self.assertEqual(desiredResult6, Table.rehashed)

        self.assertEqual(desiredResult1, Table.capacity)
        Table.keys.sort()
        self.assertEqual(desiredResult3, Table.keys)
        self.assertEqual(desiredResult4, Table.values)
        self.assertEqual(desiredResult5, Table.size)
コード例 #7
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testHas(self):
     Table = ht.HashTable(5)
     Table.put(testSong00.Artist, testSong00)
     self.assertTrue(Table.has(testSong00.Artist))
     self.assertFalse(Table.has(testSong01.Artist))
コード例 #8
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testDoubleHashing(self):
     Table = ht.HashTable(10)
     Table.put(testSong00.Artist, testSong00)
     Table.put(testSong01.Artist, testSong01)
     self.assertNotEqual(Table.h1(testSong01.Artist),
                         Table.doubleHashing(testSong01.Artist)[1])
コード例 #9
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testCutOff(self):
     Table = ht.HashTable(10)
     Table.keys = [[] for i in range(0, 9)]
     self.assertEqual(True, Table.cutoff())
     Table.keys = [[] for i in range(0, 3)]
     self.assertEqual(False, Table.cutoff())
コード例 #10
0
ファイル: UnitTests.py プロジェクト: FnSK4R17s/YT-Music-AI
 def testH2(self):
     desiredResult = 4
     Table = ht.HashTable()
     result = Table.h2(key="test")
     self.assertEqual(desiredResult, result)
コード例 #11
0
        user = User(sys.path[0] + '\\', 'nu')
        print("Welcome, New User!")
    return user


user = setUser()
FileName = "MusicData.csv"
NewMusicPath = user.NewPath
CurrentMusicPath = user.CurrentPath
OldMusicPath = user.OldPath
TestMusicPath = user.TestPath
DEVELOPER_KEY = "AIzaSyDsEUDbBKzBE6HS96PJ7FQpS5a8qfEV3Sk"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

music = ht.HashTable()


# A class used to create music file objects
class Data:
    # Constructor
    def __init__(self,
                 Title="",
                 Artist="",
                 Url="6cwBLBCehGg",
                 likes=0,
                 dislikes=0,
                 views=0,
                 used=False,
                 likesToTotalRatio=0.0,
                 likeToDislikeRatio=0.0,