class TestWord(unittest.TestCase): def setUp(self): self.d1 = DataManager() self.wd1 = Word('software', '소프트웨어', (True, self.d1)) self.wd2 = Word('project', '프로젝트', (True, self.d1)) self.d1.words = [self.wd1, self.wd2] def tearDown(self): pass def testWords(self): wd3 = Word('clear', '끝') self.d1.wordAdd(wd3) self.assertEqual(self.d1.getWords(), [self.wd1, self.wd2, wd3]) wd4 = Word('bye', '안녕') self.d1.wordAdd(wd4) self.assertTrue( isListSame(self.d1.getWords(), [self.wd1, self.wd2, wd3, wd4])) self.d1.wordDelete(self.wd2) self.assertTrue(isListSame(self.d1.getWords(), [self.wd1, wd3, wd4])) self.d1.wordDelete(wd4) self.assertTrue(isListSame(self.d1.getWords(), [self.wd1, wd3])) self.assertTrue(isListSame(self.d1.getFocusedWords(), [self.wd1])) self.d1.saveAllWords() self.d1.readAllWords() self.assertTrue( isListSameOfIsWordSame(self.d1.getWords(), [self.wd1, wd3])) self.assertTrue( isListSameOfIsWordSame(self.d1.getFocusedWords(), [self.wd1]))
class WindowsManager: def __init__(self, pushsendingstart): self.dataManager = DataManager() topic, intervalStart, intervalEnd = self.dataManager.readAllSettings() self.webCrawler = WebCrawler() self.pushSender = PushSender(self.dataManager, "default") if pushsendingstart: self.pushSender.pushSendingThreadStart() self.nowListedWords = self.getAllWords() self.mainWindow = MainWindow(self) self.memorizeWindow = MemorizeWindow(self) self.settingWindow = SettingWindow(self) self.settingWindow.settingLoad(topic, intervalStart, intervalEnd) self.mainWindow.showWindow() self.memorizeWindow.hideWindow() self.settingWindow.hide() def getAllWords(self): return self.dataManager.getWords() def setNowListedWords(self, to_this): self.nowListedWords = to_this def getNowListedWords(self): return self.nowListedWords def memorizeModeStart(self): self.memorizeWindow.showWindow() def memorizeModeEnd(self): self.memorizeWindow.hideWindow() def qButtonMaker(self, name, callback, fixedSize=None, sizePolicy=None): bt = QToolButton() bt.setText(name) bt.clicked.connect(callback) if fixedSize is not None: wid, hei = fixedSize if wid == -1: bt.setFixedHeight(hei) elif hei == -1: bt.setFixedWidth(wid) else: bt.setFixedSize(fixedSize[0], fixedSize[1]) if sizePolicy is not None: bt.setSizePolicy(sizePolicy[0], sizePolicy[1]) return bt def qTextWidgetSetter(self, widget, startText, isReadOnly, alignment=None, fixedSize=None, sizePolicy=None, fontSizeUp=0): widget.setText(startText) widget.setReadOnly(isReadOnly) if alignment is not None: widget.setAlignment(alignment) if fixedSize is not None: wid, hei = fixedSize if wid == -1: widget.setFixedHeight(hei) elif hei == -1: widget.setFixedWidth(wid) else: widget.setFixedSize(fixedSize[0], fixedSize[1]) if sizePolicy is not None: widget.setSizePolicy(sizePolicy[0], sizePolicy[1]) if fontSizeUp != 0: font = widget.font() font.setPointSize(font.pointSize() + fontSizeUp) widget.setFont(font) return widget