実のところ、このメソッドの中身はサンプルコードの要点ではないので、
とりあえず実装しているだけです。
サンプルコードは、@Beforeと@Afterの内部の実装について
説明するための実験用です。
@Test public void doTest(){ //サンプルデータをデータストアから検索する for (int i = 0;i < propertyNames.length;i++){ Query query = new Query(DATA_KIND); query.addFilter(propertyNames[i], FilterOperator.EQUAL, propertyValues[i]); PreparedQuery prepare = ds.prepare(query); ListentitiesList = prepare.asList(FetchOptions.Builder.withDefaults()); assertEquals(1,entitiesList.size()); Iterator iter = entitiesList.iterator(); while (iter.hasNext()){ Entity entity = iter.next(); assertTrue(propertyValues[i].equals(entity.getProperty(propertyNames[i]))); } } }
@Testアノテーションの付いている
doTest()メソッドは、実際のテストコードです。
メソッド内で行われている動作は、
propertyNamesの各要素をプロパティ名として、
該当するプロパティ値を持つエンティティを検索する
↓
取得したエンティティのプロパティ値を検証する
という内容です。
これをpropertyNamesの長さ分、繰り返しています(forブロック)。
Query query = new Query(DATA_KIND);
この行は、DATA_KINDで取得するデータの種類を指定して
Queryを生成しています。
query.addFilter(propertyNames[i],FilterOperator.Builder.EQUAL,propertyValues[i]);
引数propertyNames[i]は検索するプロパティ名、
引数FilterOperator.Builder.EQUALはプロパティ値の検索条件を同値とすること、
引数propertyValues[i]は、プロパティ値の境界を設定しています。
PreparedQuery prepare = ds.prepare(query);
ds.prepare()メソッドの検索条件を設定したクエリオブジェクトを渡して、
検索の実行を準備します。
この後、クエリを実行してエンティティを取り出しますが、
次回に説明します。
インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/
http://kaedetrans.appspot.com/
0 件のコメント:
コメントを投稿