/*
* 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.table.SettingTable;
import org.rf.ide.core.testdata.model.table.setting.ResourceImport;
import org.rf.ide.core.testdata.text.read.recognizer.RobotToken;
import org.rf.ide.core.testdata.text.write.NewRobotFileTestHelper;
public abstract class ACreationOfSettingsResourceImportTest {
public static final String PRETTY_NEW_DIR_LOCATION = "settings//resourceImport//new//";
private final String extension;
public ACreationOfSettingsResourceImportTest(final String extension) {
this.extension = extension;
}
public String getExtension() {
return extension;
}
@Test
public void test_emptyFile_and_thanCreateResourceImport() throws Exception {
// prepare
final String fileName = PRETTY_NEW_DIR_LOCATION + "EmptyResourceImportDeclarationOnly." + getExtension();
final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9");
// test data prepare
modelFile.includeSettingTableSection();
final SettingTable settingTable = modelFile.getSettingTable();
settingTable.newResourceImport();
// verify
NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile);
}
@Test
public void test_emptyFile_and_thanCreateResourceImport_withName() throws Exception {
// prepare
final String fileName = PRETTY_NEW_DIR_LOCATION + "ResourceDeclarationWithResourceNameOnly." + getExtension();
final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9");
// test data prepare
modelFile.includeSettingTableSection();
final SettingTable settingTable = modelFile.getSettingTable();
final ResourceImport res = settingTable.newResourceImport();
RobotToken resName = new RobotToken();
resName.setText("res.robot");
res.setPathOrName(resName);
// verify
NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile);
}
@Test
public void test_emptyFile_and_thanCreateResourceImport_with_ThreeCommentTokens() throws Exception {
// prepare
final String fileName = PRETTY_NEW_DIR_LOCATION + "ResourceDeclarationWithThreeCommentOnly." + getExtension();
final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9");
// test data prepare
modelFile.includeSettingTableSection();
final SettingTable settingTable = modelFile.getSettingTable();
final ResourceImport lib = settingTable.newResourceImport();
RobotToken cm1 = new RobotToken();
cm1.setText("cm1");
RobotToken cm2 = new RobotToken();
cm2.setText("cm2");
RobotToken cm3 = new RobotToken();
cm3.setText("cm3");
lib.addCommentPart(cm1);
lib.addCommentPart(cm2);
lib.addCommentPart(cm3);
// verify
NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile);
}
@Test
public void test_emptyFile_and_thanCreateResourceImport_with_resName_andThreeCommentTokens() throws Exception {
// prepare
final String fileName = PRETTY_NEW_DIR_LOCATION + "ResourceDeclarationWithResNameAndThreeCommentOnly."
+ getExtension();
final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9");
// test data prepare
modelFile.includeSettingTableSection();
final SettingTable settingTable = modelFile.getSettingTable();
final ResourceImport res = settingTable.newResourceImport();
RobotToken resName = new RobotToken();
resName.setText("res.robot");
res.setPathOrName(resName);
RobotToken cm1 = new RobotToken();
cm1.setText("cm1");
RobotToken cm2 = new RobotToken();
cm2.setText("cm2");
RobotToken cm3 = new RobotToken();
cm3.setText("cm3");
res.addCommentPart(cm1);
res.addCommentPart(cm2);
res.addCommentPart(cm3);
// verify
NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile);
}
}