def test_enter_different_mode_return_item_C_with_changes(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('Q, Q, DOLLAR, Q, GET-C'), ['C', 'Q'])
def test_parse_user_iput(self): vm = VendingMachine() self.assertEqual(vm.parse_input_to_list('Q, Q, Q, Q, GET-B'), ['Q', 'Q', 'Q', 'Q', 'GET-B'])
def test_enter_different_mode_return_item_B_with_no_changes(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('Q, Q, Q, Q, GET-B'), ['B'])
def test_enter_different_mode_return_item_A_with_changes(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('Q, Q, Q, Q, GET-A'), ['A', 'Q', 'D'])
def test_enter_different_mode_return_item_A_with_not_enough_input_money( self): vm = VendingMachine() self.assertEqual( vm.enter_different_mode('Q, Q, GET-A'), ['Don\'t have enough money, please insert $0.15 extra.'])
def test_krone(self): vending_machine = vm.VendingMachine(vm.KRONE_VALUES) self.assertEqual(vending_machine.calculate_change(2, 1.25), [20, 20, 20, 10, 5])
def test_find_the_largest_available_coin_for_D(self): vm = VendingMachine() self.assertEqual(vm.find_the_largest_available_coin(0.1), 'D')
def test_output_product_and_response_without_enough_input_money(self): vm = VendingMachine() vm._user_input_value = 0.55 self.assertEqual( vm.output_product_and_response('A'), ['Don\'t have enough money, please insert $0.10 extra.'])
def test_convert_number_to_coins_without_exact_matched_coin_value(self): vm = VendingMachine() self.assertEqual(vm.find_match_coins(0.35), ['Q', 'D'])
def test_enter_different_mode_return_coins(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('Q, N, COIN-RETURN'), ['Q', 'N'])
def test_output_product_and_response_with_changes(self): vm = VendingMachine() vm._user_input_value = 0.75 self.assertEqual(vm.output_product_and_response('A'), ['A', 'N', 'N'])
def test_enter_different_mode_return_invalid_input(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('K'), 'Invalid Input!')
def setUp(self): self.vending_machine = VendingMachine()
def test_pound(self): vending_machine = vm.VendingMachine(vm.POUND_VALUES) self.assertEqual(vending_machine.calculate_change(2, 1.25), [50, 20, 5])
def test_enter_service_mode(self): vm = VendingMachine() self.assertEqual(vm.enter_different_mode('SERVICE'), 'Enter Service Mode...')
def test_find_match_coins_with_matched_coin_value(self): vm = VendingMachine() self.assertEqual(vm.find_match_coins(0.35), ['Q', 'D'])
content = req.text data = json.loads(content) answer = data['text'] return answer ''' # 注册文本消息,绑定到text_reply处理函数 # text_reply msg_files可以处理好友之间的聊天回复 @itchat.msg_register([TEXT,MAP,CARD,NOTE]) def text_reply(msg): # if not msg['Text'] == []: itchat.send('%s' % replyMessage(msg['Text']),msg['FromUserName']) lastmsg = msg @itchat.msg_register(itchat.content.SHARING, isMpChat=True) def reply_msg(msg): print("收到一条公众号信息:", msg['User']['NickName'], msg['FileName']) message = msg['FileName'] if msg['User']['NickName'] == '微信支付': incomeStart = [i for i in range(len(message)) if message[i] == '款'] incomeEnd =[i for i in range(len(message)) if message[i] == '元'] message = message[incomeStart[0] + 1 : incomeEnd[0]] vm.insertMoney(float(message)) # @itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO]) # def download_files(msg): # msg['Text'](msg['FileName']) # return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName']) if __name__ == '__main__': vm = VendingMachine.VendingMachine() itchat.run()
def test_dollar(self): vending_machine = vm.VendingMachine(vm.DOLLAR_VALUES) self.assertEqual(vending_machine.calculate_change(2, 1.25), [25, 25, 25])