package org.elixir_lang.parser_definition; import org.elixir_lang.sdk.ElixirSdkRelease; /** * atom is invalid to the right of `.`, so unlike in {@link MatchedDotOperationParsingTestcase}, this tests only when * atom is left of `.` and the right operand varies based on the test name. */ public class MatchedQualifiedMultipleAliasesParsingTestCase extends ParsingTestCase { /* * matchedExpression */ public void testMatchedCaptureNonNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedInMatchOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedWhenNoParenthesesKeywordsOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedWhenOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedTypeOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedPipeOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedMatchOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedOrOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedAndOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedComparisonOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedRelationalOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedArrowOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedInOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedThreeOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedTwoOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedAdditionOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedMultiplicationOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedUnaryNonNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedDotCallOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedQualifiedAliasOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedQualifiedCallOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedAtNonNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testMatchedUnqualifiedCallOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testVariable() { assertParsedAndQuotedCorrectlyInOneThree(); } /* * accessExpression */ public void testAtNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testCaptureNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testUnaryNumericOperation() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testEmptyBlock() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testList() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testSigil() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testAtomKeyword() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testAlias() { assertParsedAndQuotedCorrectlyInOneThree(); } /* * numeric */ public void testCharToken() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testBinaryWholeNumber() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testHexadecimalWholeNumber() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testOctalWholeNumber() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testUnknownBaseWholeNumber() { assertParsedAndQuotedAroundError(); } public void testDecimalFloat() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testDecimalWholeNumber() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testStringLine() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testStringHeredoc() throws Exception { registerProjectFileIndex(); assertParsedAndQuotedCorrectlyInOneThree(); } public void testCharListLine() { assertParsedAndQuotedCorrectlyInOneThree(); } public void testCharListHeredoc() throws Exception { registerProjectFileIndex(); assertParsedAndQuotedCorrectlyInOneThree(); } /* * Protected Instance Methods */ @Override protected String getTestDataPath() { return super.getTestDataPath() + "/matched_qualified_multiple_aliases_parsing_test_case"; } private void assertParsedAndQuotedCorrectlyInOneThree() { if (elixirSdkRelease().compareTo(ElixirSdkRelease.V_1_2) >= 0) { assertParsedAndQuotedCorrectly(); } else { assertParsedAndQuotedAroundError(); } } /* * Private Instance Methods */ private ElixirSdkRelease elixirSdkRelease() { String elixirVersion = elixirVersion(); ElixirSdkRelease elixirSdkRelease = ElixirSdkRelease.fromString((elixirVersion)); assertNotNull( "ELIXIR_VERSION (" + elixirVersion + ") could not be parsed into an ElixirSdkRelease", elixirSdkRelease ); return elixirSdkRelease; } private String elixirVersion() { String elixirVersion = System.getenv("ELIXIR_VERSION"); assertNotNull("ELIXIR_VERSION is not set", elixirVersion); return elixirVersion; } }