package com.innovatian.idea.powershell.test.lang.lexer; import com.innovatian.idea.powershell.lang.lexer.PsTokenTypes; import junit.framework.Assert; public class PsLexerTestsAssignments extends PsLexerTestContext { public void testSimpleAssignmentToNumber() { final String toParse = "$a=5"; lexer.start(toParse); Assert.assertEquals(PsTokenTypes.DOLLAR, lexer.getTokenType()); Assert.assertEquals("$", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.IDENT, lexer.getTokenType()); Assert.assertEquals(lexer.getTokenText(), "a"); lexer.advance(); Assert.assertEquals(PsTokenTypes.ASSIGN, lexer.getTokenType()); Assert.assertEquals("=", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.NUMBER, lexer.getTokenType()); Assert.assertEquals("5", lexer.getTokenText()); lexer.advance(); Assert.assertNull(lexer.getTokenType()); } public void testSimpleAssignmentToSimpleVariable() { final String toParse = "$a=$true"; lexer.start(toParse); Assert.assertEquals(PsTokenTypes.DOLLAR, lexer.getTokenType()); Assert.assertEquals("$", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.IDENT, lexer.getTokenType()); Assert.assertEquals("a", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.ASSIGN, lexer.getTokenType()); Assert.assertEquals("=", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.DOLLAR, lexer.getTokenType()); Assert.assertEquals("$", lexer.getTokenText()); lexer.advance(); Assert.assertEquals("true", lexer.getTokenText()); Assert.assertEquals(PsTokenTypes.IDENT, lexer.getTokenType()); lexer.advance(); Assert.assertNull(lexer.getTokenType()); } public void testSimpleAssignmentToSimpleExpression() { final String toParse = "$a=7-eq7"; lexer.start(toParse); Assert.assertEquals(PsTokenTypes.DOLLAR, lexer.getTokenType()); Assert.assertEquals("$", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.IDENT, lexer.getTokenType()); Assert.assertEquals("a", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.ASSIGN, lexer.getTokenType()); Assert.assertEquals("=", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.NUMBER, lexer.getTokenType()); Assert.assertEquals("7", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.COEQ, lexer.getTokenType()); Assert.assertEquals("-eq", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.NUMBER, lexer.getTokenType()); Assert.assertEquals("7", lexer.getTokenText()); lexer.advance(); Assert.assertNull(lexer.getTokenType()); } public void testSimpleAssignmentToMisMatchedCaseSimpleExpression() { final String toParse = "$a=7-eQ7"; lexer.start(toParse); Assert.assertEquals(PsTokenTypes.DOLLAR, lexer.getTokenType()); Assert.assertEquals("$", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.IDENT, lexer.getTokenType()); Assert.assertEquals("a", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.ASSIGN, lexer.getTokenType()); Assert.assertEquals("=", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.NUMBER, lexer.getTokenType()); Assert.assertEquals("7", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.COEQ, lexer.getTokenType()); Assert.assertEquals("-eQ", lexer.getTokenText()); lexer.advance(); Assert.assertEquals(PsTokenTypes.NUMBER, lexer.getTokenType()); Assert.assertEquals("7", lexer.getTokenText()); lexer.advance(); Assert.assertNull(lexer.getTokenType()); } }