Home | History | Annotate | Download | only in net_test
      1 #!/usr/bin/python
      2 #
      3 # Copyright 2016 The Android Open Source Project
      4 #
      5 # Licensed under the Apache License, Version 2.0 (the "License");
      6 # you may not use this file except in compliance with the License.
      7 # You may obtain a copy of the License at
      8 #
      9 # http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 # Unless required by applicable law or agreed to in writing, software
     12 # distributed under the License is distributed on an "AS IS" BASIS,
     13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 # See the License for the specific language governing permissions and
     15 # limitations under the License.
     16 
     17 import unittest
     18 
     19 import cstruct
     20 
     21 
     22 # These aren't constants, they're classes. So, pylint: disable=invalid-name
     23 TestStructA = cstruct.Struct("TestStructA", "=BI", "byte1 int2")
     24 TestStructB = cstruct.Struct("TestStructB", "=BI", "byte1 int2")
     25 
     26 
     27 class CstructTest(unittest.TestCase):
     28 
     29   def CheckEquals(self, a, b):
     30     self.assertEquals(a, b)
     31     self.assertEquals(b, a)
     32     assert a == b
     33     assert b == a
     34     assert not (a != b)  # pylint: disable=g-comparison-negation,superfluous-parens
     35     assert not (b != a)  # pylint: disable=g-comparison-negation,superfluous-parens
     36 
     37   def CheckNotEquals(self, a, b):
     38     self.assertNotEquals(a, b)
     39     self.assertNotEquals(b, a)
     40     assert a != b
     41     assert b != a
     42     assert not (a == b)  # pylint: disable=g-comparison-negation,superfluous-parens
     43     assert not (b == a)  # pylint: disable=g-comparison-negation,superfluous-parens
     44 
     45   def testEqAndNe(self):
     46     a1 = TestStructA((1, 2))
     47     a2 = TestStructA((2, 3))
     48     a3 = TestStructA((1, 2))
     49     b = TestStructB((1, 2))
     50     self.CheckNotEquals(a1, b)
     51     self.CheckNotEquals(a2, b)
     52     self.CheckNotEquals(a1, a2)
     53     self.CheckNotEquals(a2, a3)
     54     for i in [a1, a2, a3, b]:
     55       self.CheckEquals(i, i)
     56     self.CheckEquals(a1, a3)
     57 
     58 
     59 if __name__ == "__main__":
     60   unittest.main()
     61