def test_model(self): mr = MeasuredResult(speed=100.0) mr.put() results = MeasuredResult.all().fetch(100) self.assertEquals(len(results), 1) # 浮動小数点の比較はassertAlmostEqualsを使う self.assertAlmostEquals(results[0].speed, 100.0)
def add(request): """測定結果を追加するページ(Ajax?) Args: request: リクエストオブジェクト Return: 追加処理実行結果(JSONフォーマット) """ post_data = request.args measured_result = MeasuredResult(post_data) measured_result.put() return Response(json.dumps({"result":"OK"}))
def get_data(request): """測定結果のデータを返す Args: request: リクエストオブジェクト Return; 測定結果データ(JSON) """ response_msg = "" url_params = request.args north_bound = url_params.get('n') south_bound = url_params.get('s') east_bound = url_params.get('e') west_bound = url_params.get('w') query = MeasuredResult.all() query.filter("latitude <= ", north_bound) query.filter("latitude >= ", south_bound) query.filter("longitude <= ", west_bound) query.filter("longitude >= ", east_bound) resuts = query.fetch(20) json = json.dumps([dbutils.to_dict(result) for result in results]) callback_func_name = url_params.get("callback") jsonp = "%s(%s)" % (callback_func_name, json) return Response(jsonp, content_type="application/json")
def test_filter(self): add_data1 = { "carrier":"docomo", "speed":100.0, "out_of_service":False, "latitude":100.0, "longitude":100.0, "address":u"福井県鯖江市", "comment":u"テスト1データ" } add_data2 = { "carrier":"docomo", "speed":100.0, "out_of_service":False, "latitude":200.0, "longitude":200.0, "address":u"福井県鯖江市", "comment":u"テスト2データ" } mr = MeasuredResult(**add_data1) mr.put() mr = MeasuredResult(**add_data2) mr.put() results = MeasuredResult.all().filter("latitude >= ", 50.0).filter("latitude <= ", 150.0).fetch(100) self.assertEquals(len(results), 1) self.assertEquals(results[0].carrier, "docomo") self.assertEquals(results[0].comment, u"テスト1データ")
def tearDown(self): """テスト実行の前処理""" db.delete(MeasuredResult.all())