def test_unvalid_refine_senz_prob_list(self): # case 1 senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'tenMinScale': 2, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'tenMinScale': 2, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'tenMinScale': 3, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'tenMinScale': 4, 'senzId': 41 }, ] result = refine_senz_prob_list('tenMinScale', 0, 4, senz_prob_list) self.assertEqual([], result) # case 2 scale_type = 'perHourScale' senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'perHourScale': 23, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'perHourScale': 23, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'perHourScale': 0, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'perHourScale': 2, 'senzId': 41 }, ] result = refine_senz_prob_list(scale_type, 21, 2, senz_prob_list) self.assertEqual([], result)
def test_valid_refine_senz_prob_list(self): # case 1 senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'tenMinScale': 1, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'tenMinScale': 1, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'tenMinScale': 2, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'tenMinScale': 4, 'senzId': 41 }, ] result = refine_senz_prob_list('tenMinScale', 1, 4, senz_prob_list) self.assertEqual(4, len(result)) self.assertEqual([11, 12], result[0]['senzId']) self.assertEqual([], result[2]['senzId']) # case 2 scale_type = 'perHourScale' senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'perHourScale': 23, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'perHourScale': 23, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'perHourScale': 0, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'perHourScale': 2, 'senzId': 41 }, ] result = refine_senz_prob_list(scale_type, 23, 2, senz_prob_list) self.assertEqual(4, len(result)) self.assertEqual([11, 12], result[0]['senzId']) self.assertEqual([], result[2]['senzId']) # case 3 senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'tenMinScale': 2, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'tenMinScale': 2, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'tenMinScale': 3, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'tenMinScale': 4, 'senzId': 41 }, ] result = refine_senz_prob_list('tenMinScale', 1, 4, senz_prob_list) self.assertEqual(4, len(result)) self.assertEqual(1, result[0]['tenMinScale']) self.assertEqual([], result[0]['senzId']) # case 4 senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'tenMinScale': 1, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'tenMinScale': 1, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'tenMinScale': 2, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'tenMinScale': 3, 'senzId': 41 }, ] result = refine_senz_prob_list('tenMinScale', 1, 4, senz_prob_list) self.assertEqual(4, len(result)) self.assertEqual(4, result[-1]['tenMinScale']) self.assertEqual([], result[-1]['senzId']) # case 5 scale_type = 'perHourScale' senz_prob_list = [ { 'motionProb': {'A': 0.7, 'B': 0.3}, 'timestamp': 21921921213, 'perHourScale': 23, 'senzId': 11 }, { 'motionProb': {'A': 0.3, 'C': 0.7}, 'timestamp': 11223333, 'perHourScale': 23, 'senzId': 12 }, { 'motionProb': {'B': 0.7, 'C': 0.3}, 'timestamp': 333222, 'perHourScale': 0, 'senzId': 21 }, { 'motionProb': {'A': 0.7, 'C': 0.3}, 'timestamp': 992222, 'perHourScale': 2, 'senzId': 41 }, ] result = refine_senz_prob_list(scale_type, 22, 2, senz_prob_list) self.assertEqual(5, len(result)) self.assertEqual([], result[0]['senzId']) self.assertEqual(22, result[0]['perHourScale']) self.assertEqual([11, 12], result[1]['senzId']) self.assertEqual([], result[3]['senzId'])