Exemplo n.º 1
0
        def test_template(template):
            def filter_address_vars(address_vars, template):
                expected_keys = AddressFormatParser(
                    "", template)._get_format_vars(template)
                address_vars = dict((k, v)
                                    for k, v in address_vars.iteritems()
                                    if k in expected_keys)
                return address_vars

            # All vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"NSW",
                'country': u"Australia",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            self.assertEquals(parser.get_address_vars(), address_vars)

            # Payer vars
            payer_vars = {
                'first_name': u'P.',
                'last_name': u'Sherman',
                'address_line_1': u'42 Wallaby Way',
                'postal_code': u'2123',
                'city': u'Sydney',
                'state': u'NSW',
                'country': 'Australia',
            }

            self.assertEquals(
                filter_address_vars(parser.get_payer_vars(), template),
                filter_address_vars(payer_vars, template))

            # Missing vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"",
                'country': u"",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            actual_vars = dict(
                (k, v) for k, v in parser.get_address_vars().iteritems() if v)
            expected_vars = dict(
                (k, v) for k, v in address_vars.iteritems() if v)
            self.assertEquals(expected_vars, actual_vars)
Exemplo n.º 2
0
        def test_template(template):

            def filter_address_vars(address_vars, template):
                expected_keys = AddressFormatParser("", template)._get_format_vars(template)
                address_vars = dict((k, v) for k, v in address_vars.iteritems() if k in expected_keys)
                return address_vars

            # All vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"NSW",
                'country': u"Australia",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            self.assertEquals(parser.get_address_vars(), address_vars)

            # Payer vars
            payer_vars = {
                'first_name': u'P.',
                'last_name': u'Sherman',
                'address_line_1': u'42 Wallaby Way',
                'postal_code': u'2123',
                'city': u'Sydney',
                'state': u'NSW',
                'country': 'Australia',
            }

            self.assertEquals(
                filter_address_vars(parser.get_payer_vars(), template),
                filter_address_vars(payer_vars, template))

            # Missing vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"",
                'country': u"",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            actual_vars = dict((k, v) for k, v in parser.get_address_vars().iteritems() if v)
            expected_vars = dict((k, v) for k, v in address_vars.iteritems() if v)
            self.assertEquals(expected_vars, actual_vars)
Exemplo n.º 3
0
    def test_address_parsing(self):
        from shop.addressmodel.models import ADDRESS_TEMPLATE
        from helper import AddressFormatParser

        CUSTOM_ADDRESS_TEMPLATE = """Name: %(name)s,
Address: %(address)s,
City: %(city)s %(zipcode)s,
State: %(state)s"""

        def test_template(template):

            def filter_address_vars(address_vars, template):
                expected_keys = AddressFormatParser("", template)._get_format_vars(template)
                address_vars = dict((k, v) for k, v in address_vars.iteritems() if k in expected_keys)
                return address_vars

            # All vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"NSW",
                'country': u"Australia",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            self.assertEquals(parser.get_address_vars(), address_vars)

            # Payer vars
            payer_vars = {
                'first_name': u'P.',
                'last_name': u'Sherman',
                'address_line_1': u'42 Wallaby Way',
                'postal_code': u'2123',
                'city': u'Sydney',
                'state': u'NSW',
                'country': 'Australia',
            }

            self.assertEquals(
                filter_address_vars(parser.get_payer_vars(), template),
                filter_address_vars(payer_vars, template))

            # Missing vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"",
                'country': u"",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            actual_vars = dict((k, v) for k, v in parser.get_address_vars().iteritems() if v)
            expected_vars = dict((k, v) for k, v in address_vars.iteritems() if v)
            self.assertEquals(expected_vars, actual_vars)

        test_template(ADDRESS_TEMPLATE)
        test_template(CUSTOM_ADDRESS_TEMPLATE)

        # Address string None value
        parser = AddressFormatParser(None, ADDRESS_TEMPLATE)
        self.assertEqual(parser.get_address_vars(), {})
Exemplo n.º 4
0
    def test_address_parsing(self):
        from shop.addressmodel.models import ADDRESS_TEMPLATE
        from helper import AddressFormatParser

        CUSTOM_ADDRESS_TEMPLATE = """Name: %(name)s,
Address: %(address)s,
City: %(city)s %(zipcode)s,
State: %(state)s"""

        def test_template(template):
            def filter_address_vars(address_vars, template):
                expected_keys = AddressFormatParser(
                    "", template)._get_format_vars(template)
                address_vars = dict((k, v)
                                    for k, v in address_vars.iteritems()
                                    if k in expected_keys)
                return address_vars

            # All vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"NSW",
                'country': u"Australia",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            self.assertEquals(parser.get_address_vars(), address_vars)

            # Payer vars
            payer_vars = {
                'first_name': u'P.',
                'last_name': u'Sherman',
                'address_line_1': u'42 Wallaby Way',
                'postal_code': u'2123',
                'city': u'Sydney',
                'state': u'NSW',
                'country': 'Australia',
            }

            self.assertEquals(
                filter_address_vars(parser.get_payer_vars(), template),
                filter_address_vars(payer_vars, template))

            # Missing vars
            address_vars = {
                'name': u"P. Sherman",
                'address': u"42 Wallaby Way",
                'zipcode': u"2123",
                'city': u"Sydney",
                'state': u"",
                'country': u"",
            }
            address_vars = filter_address_vars(address_vars, template)
            address = template % address_vars
            parser = AddressFormatParser(address, template)

            actual_vars = dict(
                (k, v) for k, v in parser.get_address_vars().iteritems() if v)
            expected_vars = dict(
                (k, v) for k, v in address_vars.iteritems() if v)
            self.assertEquals(expected_vars, actual_vars)

        test_template(ADDRESS_TEMPLATE)
        test_template(CUSTOM_ADDRESS_TEMPLATE)

        # Address string None value
        parser = AddressFormatParser(None, ADDRESS_TEMPLATE)
        self.assertEqual(parser.get_address_vars(), {})