/* * 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.SuiteSetup; import org.rf.ide.core.testdata.text.read.recognizer.RobotToken; import org.rf.ide.core.testdata.text.write.NewRobotFileTestHelper; public abstract class ACreationOfSettingsSuiteSetupTest { public static final String PRETTY_NEW_DIR_LOCATION = "settings//suiteSetup//new//"; private final String extension; public ACreationOfSettingsSuiteSetupTest(final String extension) { this.extension = extension; } @Test public void test_emptyFile_and_thanCreateSuiteSetup() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "EmptySuiteSetupDeclarationOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); settingTable.newSuiteSetup(); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteSetup_andAddComments() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteSetupDeclarationWithCommentsOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteSetup suiteSetup = settingTable.newSuiteSetup(); RobotToken cm1 = new RobotToken(); cm1.setText("cm1"); RobotToken cm2 = new RobotToken(); cm2.setText("cm2"); RobotToken cm3 = new RobotToken(); cm3.setText("cm3"); suiteSetup.addCommentPart(cm1); suiteSetup.addCommentPart(cm2); suiteSetup.addCommentPart(cm3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteSetup_andKeywordOnly() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteSetupDeclarationWithKeywordOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteSetup suiteSetup = settingTable.newSuiteSetup(); RobotToken keyword = new RobotToken(); keyword.setText("keyword"); suiteSetup.setKeywordName(keyword); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteSetup_andKeyword_andComments() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteSetupDeclarationWithKeywordCommentsOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteSetup suiteSetup = settingTable.newSuiteSetup(); RobotToken keyword = new RobotToken(); keyword.setText("keyword"); suiteSetup.setKeywordName(keyword); RobotToken cm1 = new RobotToken(); cm1.setText("cm1"); RobotToken cm2 = new RobotToken(); cm2.setText("cm2"); RobotToken cm3 = new RobotToken(); cm3.setText("cm3"); suiteSetup.addCommentPart(cm1); suiteSetup.addCommentPart(cm2); suiteSetup.addCommentPart(cm3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteSetup_andKeyword_andThreeArgs() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteSetupDeclarationWithKeyword3ArgsOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteSetup suiteSetup = settingTable.newSuiteSetup(); RobotToken keyword = new RobotToken(); keyword.setText("keyword"); suiteSetup.setKeywordName(keyword); RobotToken arg1 = new RobotToken(); arg1.setText("arg1"); RobotToken arg2 = new RobotToken(); arg2.setText("arg2"); RobotToken arg3 = new RobotToken(); arg3.setText("arg3"); suiteSetup.addArgument(arg1); suiteSetup.addArgument(arg2); suiteSetup.addArgument(arg3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } @Test public void test_emptyFile_createSuiteSetup_andKeyword_andThreeArgs_andComment() throws Exception { // prepare final String fileName = PRETTY_NEW_DIR_LOCATION + "SuiteSetupDeclarationWithKeyword3ArgsAndCommentOnly." + getExtension(); final RobotFile modelFile = NewRobotFileTestHelper.getModelFileToModify("2.9"); // test data prepare modelFile.includeSettingTableSection(); final SettingTable settingTable = modelFile.getSettingTable(); final SuiteSetup suiteSetup = settingTable.newSuiteSetup(); RobotToken keyword = new RobotToken(); keyword.setText("keyword"); suiteSetup.setKeywordName(keyword); RobotToken arg1 = new RobotToken(); arg1.setText("arg1"); RobotToken arg2 = new RobotToken(); arg2.setText("arg2"); RobotToken arg3 = new RobotToken(); arg3.setText("arg3"); suiteSetup.addArgument(arg1); suiteSetup.addArgument(arg2); suiteSetup.addArgument(arg3); RobotToken cm1 = new RobotToken(); cm1.setText("cm1"); RobotToken cm2 = new RobotToken(); cm2.setText("cm2"); RobotToken cm3 = new RobotToken(); cm3.setText("cm3"); suiteSetup.addCommentPart(cm1); suiteSetup.addCommentPart(cm2); suiteSetup.addCommentPart(cm3); // verify NewRobotFileTestHelper.assertNewModelTheSameAsInFile(fileName, modelFile); } public String getExtension() { return extension; } }