#!/usr/bin/python # Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import unittest import check_orderfile import symbol_extractor class TestCheckOrderFile(unittest.TestCase): _SYMBOL_INFOS = [symbol_extractor.SymbolInfo('first', 0x1, 0, ''), symbol_extractor.SymbolInfo('second', 0x2, 0, ''), symbol_extractor.SymbolInfo('notProfiled', 0x4, 0, ''), symbol_extractor.SymbolInfo('third', 0x3, 0, ''),] def testMatchesSymbols(self): symbols = ['first', 'second', 'third'] (misordered_pairs_count, matched_count, missing_count) = ( check_orderfile._CountMisorderedSymbols(symbols, self._SYMBOL_INFOS)) self.assertEquals( (misordered_pairs_count, matched_count, missing_count), (0, 3, 0)) def testMissingMatches(self): symbols = ['second', 'third', 'other', 'first'] (_, matched_count, unmatched_count) = ( check_orderfile._CountMisorderedSymbols(symbols, self._SYMBOL_INFOS)) self.assertEquals(matched_count, 3) self.assertEquals(unmatched_count, 1) def testNoUnorderedSymbols(self): symbols = ['first', 'other', 'second', 'third', 'noMatchEither'] (misordered_pairs_count, _, _) = ( check_orderfile._CountMisorderedSymbols(symbols, self._SYMBOL_INFOS)) self.assertEquals(misordered_pairs_count, 0) def testUnorderedSymbols(self): symbols = ['first', 'other', 'third', 'second', 'noMatchEither'] (misordered_pairs_count, _, _) = ( check_orderfile._CountMisorderedSymbols(symbols, self._SYMBOL_INFOS)) self.assertEquals(misordered_pairs_count, 1) if __name__ == '__main__': unittest.main()