[Jiemamy-notify:2517] commit [3501] 結合テストを、Mockに対応した形に書き直し。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 9月 2日 (水) 02:51:54 JST


Revision: 3501
          http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3501
Author:   daisuke_m
Date:     2009-09-02 02:51:54 +0900 (Wed, 02 Sep 2009)

Log Message:
-----------
結合テストを、Mockに対応した形に書き直し。

Modified Paths:
--------------
    artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/DatabaseTest.java
    artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/internal/serializer/JiemamySerializerTest.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder2.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilder.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilders.java

Added Paths:
-----------
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/AbstractTestModelBuilder.java

Modified: artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/DatabaseTest.java
===================================================================
--- artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/DatabaseTest.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/DatabaseTest.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -142,7 +142,7 @@
 		// FIXME Oracleのdialectが整備されるまでskip
 		assumeThat(testDatabase, is(not(TestDatabaseInstance.Oracle)));
 		
-		Jiemamy jiemamy = builder.getBuiltModel();
+		Jiemamy jiemamy = builder.getBuiltModel(testDatabase.getDialectClassName());
 		
 		try {
 			applyModelToDatabase(testDatabase, jiemamy);

Modified: artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/internal/serializer/JiemamySerializerTest.java
===================================================================
--- artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/internal/serializer/JiemamySerializerTest.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ artemis/trunk/jiemamy-artemis-test/src/test/java/org/jiemamy/internal/serializer/JiemamySerializerTest.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -43,6 +43,7 @@
 import org.jiemamy.Jiemamy;
 import org.jiemamy.JiemamyFactory;
 import org.jiemamy.internal.test.ViewTestModelBuilder;
+import org.jiemamy.internal.test.mock.MockDialect;
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
@@ -106,7 +107,7 @@
 		Document document = documentBuilder.parse(new ByteArrayInputStream(result.getBytes(CharEncoding.UTF_8)));
 		
 		// RootModel基本プロパティのチェック
-		assertThat(document, hasXPath("/jiemamy/dialect", is("org.jiemamy.dialect.mysql.MySqlDialect")));
+		assertThat(document, hasXPath("/jiemamy/dialect", is(MockDialect.class.getName())));
 		assertThat(document, hasXPath("/jiemamy/schemaName", is("FOO")));
 //		assertThat(document, hasXPath("/jiemamy/beginScript", is("BEGIN;")));
 //		assertThat(document, hasXPath("/jiemamy/endScript", is("COMMIT;")));

Added: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/AbstractTestModelBuilder.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/AbstractTestModelBuilder.java	                        (rev 0)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/AbstractTestModelBuilder.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2007-2009 Jiemamy Project and the Others.
+ * Created on 2009/09/02
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.internal.test;
+
+import org.jiemamy.Jiemamy;
+import org.jiemamy.internal.test.mock.MockDialect;
+
+/**
+ * TODO for daisuke
+ * 
+ * @author daisuke
+ */
+public abstract class AbstractTestModelBuilder implements TestModelBuilder {
+	
+	private static final String DIALECT_CLASS_NAME = MockDialect.class.getName();
+	
+
+	public Jiemamy build() {
+		return build(DIALECT_CLASS_NAME);
+	}
+	
+}


Property changes on: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/AbstractTestModelBuilder.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -28,7 +28,6 @@
 import org.jiemamy.Jiemamy;
 import org.jiemamy.JiemamyFactory;
 import org.jiemamy.dialect.Dialect;
-import org.jiemamy.internal.test.mock.MockDialect;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.attribute.ColumnModel;
 import org.jiemamy.model.attribute.RepresentationAdapter;
@@ -61,7 +60,7 @@
  * 
  * @author daisuke
  */
-public class CoreTestModelBuilder implements TestModelBuilder {
+public class CoreTestModelBuilder extends AbstractTestModelBuilder {
 	
 	private static final String ID_1 = "1";
 	
@@ -71,8 +70,6 @@
 	
 	private static final String ID_4 = "4";
 	
-	private static final String DIALECT_CLASS_NAME = MockDialect.class.getName();
-	
 	// ---- basics
 	
 	/** UUID生成戦略 */
@@ -256,8 +253,8 @@
 		this(UuidStrategy.FIXED, new Instruction(), Jiemamy.newInstance());
 	}
 	
-	public Jiemamy build() {
-		rootModel.setDialectClassName(DIALECT_CLASS_NAME);
+	public Jiemamy build(String dialectClassName) {
+		rootModel.setDialectClassName(dialectClassName);
 //		rootModel.setBeginScript("BEGIN;");
 //		rootModel.setEndScript("COMMIT;");
 		rootModel.setDescription("Jiemamyテストモデル1");
@@ -321,7 +318,9 @@
 		check.setName("hoge");
 		check.setExpression("VALUE > 0");
 		domainId.setCheckConstraint(check);
-		domainId.getDataType().getAdapter(SerialDataTypeAdapter.class).setSerial(true);
+		if (domainId.getDataType().hasAdapter(SerialDataTypeAdapter.class)) {
+			domainId.getDataType().getAdapter(SerialDataTypeAdapter.class).setSerial(true);
+		}
 		rootModel.getDomains().add(domainId);
 		
 		domainName = factory.newModel(DomainModel.class, uuid.get("62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"));

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder2.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder2.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/CoreTestModelBuilder2.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -49,7 +49,7 @@
  * 
  * @author daisuke
  */
-public class CoreTestModelBuilder2 implements TestModelBuilder {
+public class CoreTestModelBuilder2 extends AbstractTestModelBuilder {
 	
 	private static final String ID_1 = "1";
 	
@@ -249,8 +249,8 @@
 		this(UuidStrategy.FIXED, new Instruction(), Jiemamy.newInstance());
 	}
 	
-	public Jiemamy build() {
-		rootModel.setDialectClassName(DIALECT_CLASS_NAME);
+	public Jiemamy build(String dialectClassName) {
+		rootModel.setDialectClassName(dialectClassName);
 		rootModel.setBeginScript("BEGIN;");
 		rootModel.setEndScript("COMMIT;");
 		rootModel.setDescription("Jiemamyテストモデル2");
@@ -311,7 +311,9 @@
 		idDomain.setName("ID");
 		idDomain.setDataType(ModelUtil.createDataType(jiemamy, DataTypeCategory.INTEGER));
 		idDomain.setNotNullConstraint(factory.newModel(NotNullConstraint.class));
-		idDomain.getAdapter(SerialDataTypeAdapter.class).setSerial(true);
+		if (idDomain.hasAdapter(SerialDataTypeAdapter.class)) {
+			idDomain.getAdapter(SerialDataTypeAdapter.class).setSerial(true);
+		}
 		rootModel.getDomains().add(idDomain);
 		
 		nameDomain = factory.newModel(DomainModel.class, uuid.get("e2ebf8a7-90d8-48d4-9b5d-8d2e2601b193"));

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilder.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilder.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilder.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -33,4 +33,11 @@
 	 * @return ビルドしたモデルのJiemamyコンテキスト
 	 */
 	Jiemamy build();
+	
+	/**
+	 * モデルをビルドする。
+	 * 
+	 * @return ビルドしたモデルのJiemamyコンテキスト
+	 */
+	Jiemamy build(String dialectClassName);
 }

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilders.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilders.java	2009-09-01 17:34:52 UTC (rev 3500)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/TestModelBuilders.java	2009-09-01 17:51:54 UTC (rev 3501)
@@ -25,7 +25,6 @@
 
 import org.jiemamy.Jiemamy;
 import org.jiemamy.exception.UnexpectedConditionError;
-import org.jiemamy.internal.test.mock.MockDialectProvider;
 
 /**
  * テスト用モデルの構築を行うビルダを供給するプロバイダ。
@@ -52,7 +51,7 @@
 	}
 	
 	private static Jiemamy newJiemamy() {
-		return Jiemamy.newInstance(new MockDialectProvider());
+		return Jiemamy.newInstance();
 	}
 	
 
@@ -76,6 +75,16 @@
 	}
 	
 	/**
+	 * モデルをビルドし、Jiemamyコンテキストを取得する。
+	 * 
+	 * @param dialectClassName 
+	 * @return Jiemamyコンテキスト
+	 */
+	public Jiemamy getBuiltModel(String dialectClassName) {
+		return builder.build(dialectClassName);
+	}
+	
+	/**
 	 * XML文字列を取得する。
 	 * 
 	 * @return XML文字列




Jiemamy-notify メーリングリストの案内
Back to archive index