def test_shakearound_user_shake_event(self):
        from wechatpy.events import ShakearoundUserShakeEvent

        xml = """<xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>1433332012</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[ShakearoundUserShake]]></Event>
        <ChosenBeacon>
            <Uuid><![CDATA[uuid]]></Uuid>
            <Major>major</Major>
            <Minor>minor</Minor>
            <Distance>0.057</Distance>
        </ChosenBeacon>
        <AroundBeacons>
            <AroundBeacon>
                <Uuid><![CDATA[uuid]]></Uuid>
                <Major>major</Major>
                <Minor>minor</Minor>
                <Distance>166.816</Distance>
            </AroundBeacon>
            <AroundBeacon>
                <Uuid><![CDATA[uuid]]></Uuid>
                <Major>major</Major>
                <Minor>minor</Minor>
                <Distance>15.013</Distance>
            </AroundBeacon>
        </AroundBeacons>
        </xml>"""
        event = parse_message(xml)
        self.assertTrue(isinstance(event, ShakearoundUserShakeEvent))

        chosen_beacon = {
            "uuid": "uuid",
            "major": "major",
            "minor": "minor",
            "distance": 0.057,
        }
        self.assertEqual(chosen_beacon, event.chosen_beacon)
        self.assertEqual(2, len(event.around_beacons))