/* * Copyright 2016 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.rf.ide.core.testdata.text.write.tables.settings.creation; import org.junit.Test; import org.rf.ide.core.testdata.model.RobotFile; import org.rf.ide.core.testdata.model.presenter.DocumentationServiceHandler; import org.rf.ide.core.testdata.model.table.SettingTable; import org.rf.ide.core.testdata.model.table.setting.SuiteDocumentation; import org.rf.ide.core.testdata.text.read.recognizer.RobotToken; import org.rf.ide.core.testdata.text.write.NewRobotFileTestHelper; public abstract class ACreationOfSettingsSuiteDocumentationTest { public static final String PRETTY_NEW_DIR_LOCATION = "settings//suiteDoc//new//"; private final String extension; public ACreationOfSettingsSuiteDocumentationTest(final String extension) { this.extension = extension; } public String getExtension() { return extension; } @Test public void test_emptyFile_and_thanCreateSuiteDoc() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "EmptySuiteDocumentationDeclarationOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); settingTable.newSuiteDocumentation(); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteDoc_andAddComments() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteDocumentationDeclarationWithCommentsOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteDocumentation suiteDoc = settingTable.newSuiteDocumentation(); RobotToken cm1 = new RobotToken(); cm1.setText("cm1"); RobotToken cm2 = new RobotToken(); cm2.setText("cm2"); RobotToken cm3 = new RobotToken(); cm3.setText("cm3"); suiteDoc.addCommentPart(cm1); suiteDoc.addCommentPart(cm2); suiteDoc.addCommentPart(cm3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteDoc_withText() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteDocumentationDeclarationWithTextOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteDocumentation suiteDoc = settingTable.newSuiteDocumentation(); RobotToken text1 = new RobotToken(); text1.setText("text1"); RobotToken text2 = new RobotToken(); text2.setText("text2"); RobotToken text3 = new RobotToken(); text3.setText("text3"); suiteDoc.addDocumentationText(text1); suiteDoc.addDocumentationText(text2); suiteDoc.addDocumentationText(text3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteDoc_withMultipleLines() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "EmptySuiteDocumentationThreeLines." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteDocumentation suiteDoc = settingTable.newSuiteDocumentation(); DocumentationServiceHandler.update(suiteDoc, "doc me" + "\n" + "ok" + "\n" + "ok2"); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteDoc_withTextAndComment() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteDocumentationDeclarationWithTextAndCommentOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteDocumentation suiteDoc = settingTable.newSuiteDocumentation(); RobotToken text1 = new RobotToken(); text1.setText("text1"); RobotToken text2 = new RobotToken(); text2.setText("text2"); RobotToken text3 = new RobotToken(); text3.setText("text3"); suiteDoc.addDocumentationText(text1); suiteDoc.addDocumentationText(text2); suiteDoc.addDocumentationText(text3); RobotToken cm1 = new RobotToken(); cm1.setText("cm1"); RobotToken cm2 = new RobotToken(); cm2.setText("cm2"); RobotToken cm3 = new RobotToken(); cm3.setText("cm3"); suiteDoc.addCommentPart(cm1); suiteDoc.addCommentPart(cm2); suiteDoc.addCommentPart(cm3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } }