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文字列