/* * Copyright 2016 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.robotframework.ide.eclipse.main.plugin.assist; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.EnumSet; import org.junit.Test; import org.rf.ide.core.testdata.model.table.variables.AVariable.VariableType; public class RedNewVariableProposalTest { @Test public void itIsNotPossibleToCreateProposalForModelTypeDifferentThanLibraryOrResourceImport() { for (final VariableType type : EnumSet .complementOf(EnumSet.of(VariableType.SCALAR, VariableType.LIST, VariableType.DICTIONARY))) { try { new RedNewVariableProposal("content", type, new ArrayList<String>(), null, "label", "desc"); fail(); } catch (final IllegalArgumentException e) { continue; } fail(); } } @Test public void testScalarProposal() { final RedNewVariableProposal proposal = new RedNewVariableProposal("${scalar}", VariableType.SCALAR, new ArrayList<String>(), null, "lbl", "desc"); assertThat(proposal.getType()).isEqualTo(VariableType.SCALAR); assertThat(proposal.getContent()).isEqualTo("${scalar}"); assertThat(proposal.getArguments()).isEmpty(); assertThat(proposal.getImage()).isNull(); assertThat(proposal.getLabel()).isEqualTo("lbl"); assertThat(proposal.getStyledLabel().getString()).isEqualTo("lbl"); assertThat(proposal.hasDescription()).isTrue(); assertThat(proposal.getDescription()).isEqualTo("desc"); } @Test public void testListProposal() { final RedNewVariableProposal proposal = new RedNewVariableProposal("@{list}", VariableType.LIST, new ArrayList<String>(), null, "lbl", "desc"); assertThat(proposal.getType()).isEqualTo(VariableType.LIST); assertThat(proposal.getContent()).isEqualTo("@{list}"); assertThat(proposal.getArguments()).isEmpty(); assertThat(proposal.getImage()).isNull(); assertThat(proposal.getLabel()).isEqualTo("lbl"); assertThat(proposal.getStyledLabel().getString()).isEqualTo("lbl"); assertThat(proposal.hasDescription()).isTrue(); assertThat(proposal.getDescription()).isEqualTo("desc"); } @Test public void testDictionaryProposal() { final RedNewVariableProposal proposal = new RedNewVariableProposal("&{dict}", VariableType.DICTIONARY, new ArrayList<String>(), null, "lbl", "desc"); assertThat(proposal.getType()).isEqualTo(VariableType.DICTIONARY); assertThat(proposal.getContent()).isEqualTo("&{dict}"); assertThat(proposal.getArguments()).isEmpty(); assertThat(proposal.getImage()).isNull(); assertThat(proposal.getLabel()).isEqualTo("lbl"); assertThat(proposal.getStyledLabel().getString()).isEqualTo("lbl"); assertThat(proposal.hasDescription()).isTrue(); assertThat(proposal.getDescription()).isEqualTo("desc"); } }