-/*\r
- * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.nemo.user.vnspacemanager.languagestyle;
+/*
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package user.vnspacemanager.languagestyle;
import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent;
import org.opendaylight.nemo.user.tenantmanager.AAA;
import org.opendaylight.nemo.user.tenantmanager.TenantManage;
import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparserTokenManager;
import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.ParseException;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.LanguageStyleNemoRequestInput;
import java.io.StringReader;
+import java.lang.reflect.Field;
import org.junit.Assert;
import org.junit.Before;
private NEMOparser nemOparser;
private AAA aaa;
private UserId userId;
- // private NemoStatement nemoStatement;
+ // private NemoStatement nemoStatement;
private LanguageStyleNemoRequestInput languageStyleNemoRequestInput;
private String errorInfo;
@org.junit.Before
public void setUp() throws Exception {
+ Class<NEMOparser> class1 = NEMOparser.class;
+ Class<SimpleCharStream> class2 = SimpleCharStream.class;
+ Class<NEMOparserTokenManager> class3 = NEMOparserTokenManager.class;
+ Field field = class1.getDeclaredField("jj_initialized_once");
+ field.setAccessible(true);
+ Field field1 = class2.getDeclaredField("inputStream");
+ field1.setAccessible(true);
+ Field field2 = class3.getDeclaredField("input_stream");
+ field2.setAccessible(true);
+
+ field.set(class1, false);
+ Assert.assertTrue(!(Boolean) field.get(class1));
+ field1.set(class2, null);
+ Assert.assertTrue(field1.get(class2) == null);
+ field2.set(class3,null);
+ Assert.assertTrue(field2.get(class3) == null);
+
userId = mock(UserId.class);
- // nemoStatement = mock(NemoStatement.class);
+ // nemoStatement = mock(NemoStatement.class);
dataBroker = mock(DataBroker.class);
tenantManage = mock(TenantManage.class);
languageStyleNemoRequestInput = mock(LanguageStyleNemoRequestInput.class);
aaa = mock(AAA.class);
- // nemOparser = new NEMOparser(new StringReader(""));
+ // nemOparser = new NEMOparser(new StringReader(""));
errorInfo = new String();
languageIntent = new LanguageIntent(dataBroker,tenantManage);
--- /dev/null
+/*
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+/* Generated By:JavaCC: Do not edit this line. NEMOparser.java */
+package user.vnspacemanager.languagestyle.NEMOParse;
+
+import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparserTokenManager;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang.UpdateNodeLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang.UpdateConnectionLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang.UpdateFlowLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang.UpdateOperationLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteNodeLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteConnectionLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteFlowLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteOperationLang;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.Query;
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.ArrayList;
+import java.io.StringReader;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+/**
+ * Created by zhangmeng on 2015/12/16.
+ */
+public class NEMOparserTest extends TestCase {
+ private InputStream inputStream;
+ private Reader reader;
+ private Reader reader_empty;
+ private NEMOparserTokenManager nemOparserTokenManager;
+ private NEMOparser nemOparser;
+ private Class<NEMOparser> class1;
+ private Class<NEMOparserTokenManager> nemOparserTokenManagerClass;
+ private Class<SimpleCharStream> simpleCharStreamClass;
+ private Field field_jj_initialized_once;
+ private Field field_token_source;
+ private Field field_jj_input_stream;
+ private Method method_ReInit_SimpleCharStreamClass;
+ private Method method_ReInit_NEMOparserTokenManager;
+
+ @Before
+ public void setUp() throws Exception {
+ class1 = NEMOparser.class;
+ nemOparserTokenManagerClass = NEMOparserTokenManager.class;
+ simpleCharStreamClass = SimpleCharStream.class;
+ field_jj_initialized_once = class1.getDeclaredField("jj_initialized_once");//Nemoparser
+ field_token_source = class1.getDeclaredField("token_source");//NEMOparserTokenManager
+ field_jj_input_stream = class1.getDeclaredField("jj_input_stream");//SimpleCharStream
+
+ field_token_source.setAccessible(true);
+ field_jj_input_stream.setAccessible(true);
+ field_jj_initialized_once.setAccessible(true);
+
+
+ method_ReInit_SimpleCharStreamClass = simpleCharStreamClass.getDeclaredMethod("ReInit", new Class[]{Reader.class, int.class, int.class, int.class});
+ method_ReInit_SimpleCharStreamClass.setAccessible(true);
+ method_ReInit_NEMOparserTokenManager = nemOparserTokenManagerClass.getDeclaredMethod("ReInit", new Class[]{SimpleCharStream.class});
+ method_ReInit_NEMOparserTokenManager.setAccessible(true);
+
+ inputStream = new InputStream() {
+ @Override
+ public int read() throws IOException {
+ return 0;
+ }
+ };
+ reader = new Reader() {
+ @Override
+ public int read(char[] cbuf, int off, int len) throws IOException {
+ return 0;
+ }
+
+ @Override
+ public void close() throws IOException {
+
+ }
+ };
+ reader_empty = null;
+ nemOparserTokenManager = mock(NEMOparserTokenManager.class);
+ }
+
+ @Test
+ public void testInit() throws Exception{
+ Field field = simpleCharStreamClass.getDeclaredField("inputStream");
+ Field field1 = nemOparserTokenManagerClass.getDeclaredField("input_stream");
+ field1.setAccessible(true);
+ field.setAccessible(true);
+ field.set(simpleCharStreamClass, null);
+ field1.set(nemOparserTokenManagerClass, null);
+ nemOparser = new NEMOparser(inputStream,null);
+ Assert.assertTrue(field_jj_input_stream.get(class1) instanceof SimpleCharStream);
+ Assert.assertTrue(field_token_source.get(class1) instanceof NEMOparserTokenManager);
+ method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+ NEMOparserTokenManager.ReInit(null);
+ field_jj_initialized_once.set(class1, false);
+ Assert.assertTrue((Boolean) field_jj_initialized_once.get(class1) == false);
+
+ field.set(simpleCharStreamClass,null);
+ field1.set(nemOparserTokenManagerClass, null);
+ nemOparser = new NEMOparser(inputStream);
+ method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+ NEMOparserTokenManager.ReInit(null);
+ field_jj_initialized_once.set(class1, false);
+
+ field.set(simpleCharStreamClass, null);
+ field1.set(nemOparserTokenManagerClass,null);
+ nemOparser = new NEMOparser(nemOparserTokenManager);
+ method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+ NEMOparserTokenManager.ReInit(null);
+ field_jj_initialized_once.set(class1, false);
+
+ field.set(simpleCharStreamClass,null);
+ field1.set(nemOparserTokenManagerClass,null);
+ nemOparser = new NEMOparser(reader);
+ method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+ NEMOparserTokenManager.ReInit(null);
+ field_jj_initialized_once.set(class1, false);
+
+ nemOparser.ReInit(nemOparserTokenManager);
+ NEMOparser.ReInit(inputStream);
+ NEMOparser.ReInit(inputStream, null);
+ NEMOparser.ReInit(reader_empty);
+ method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+ NEMOparserTokenManager.ReInit(null);
+ field_jj_initialized_once.set(class1, false);
+ }
+
+// @Test
+// public void testParseNEMO() throws Exception {
+// UserId userId = mock(UserId.class);
+// DataBroker dataBroker = mock(DataBroker.class);
+// TenantManage tenantManage = mock(TenantManage.class);
+//
+// nemOparser = new NEMOparser(inputStream);
+//// nemOparser.parseNEMO(userId,strNEMO,dataBroker,tenantManage);
+//
+//
+// method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+// NEMOparserTokenManager.ReInit(null);
+// field_jj_initialized_once.set(class1, false);
+// }
+
+ @Test
+ public void testNEMO() throws Exception {
+// UserId userId = mock(UserId.class);
+// DataBroker dataBroker = mock(DataBroker.class);
+// TenantManage tenantManage = mock(TenantManage.class);
+//
+// nemOparser = new NEMOparser(inputStream);
+// Field field_jj_ntk = class1.getDeclaredField("jj_ntk");
+// field_jj_ntk.setAccessible(true);
+// field_jj_ntk.set(class1, 25);
+//
+// System.out.println("jj_ntk:" + field_jj_ntk.get(class1));
+//
+// NEMOparser.NEMO(userId,dataBroker,tenantManage);
+// method_ReInit_SimpleCharStreamClass.invoke(field_jj_input_stream.get(class1), null, 1, 1, 1);
+// NEMOparserTokenManager.ReInit(null);
+// field_jj_initialized_once.set(class1, false);
+ }
+
+ @Test
+ public void testUpdateIntent() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteIntent() throws Exception {
+
+ }
+
+ @Test
+ public void testUpdateNode() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteNode() throws Exception {
+
+ }
+
+ @Test
+ public void testUpdateConnection() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteConnection() throws Exception {
+
+ }
+
+ @Test
+ public void testUpdateFlow() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteFlow() throws Exception {
+
+ }
+
+ @Test
+ public void testUpdateOperation() throws Exception {
+
+ }
+
+ @Test
+ public void testDeleteOperation() throws Exception {
+
+ }
+
+ @Test
+ public void testQuery() throws Exception {
+
+ }
+
+ @Test
+ public void testGetNextToken() throws Exception {
+
+ }
+
+ @Test
+ public void testGetToken() throws Exception {
+
+ }
+
+ @Test
+ public void testGenerateParseException() throws Exception {
+
+ }
+
+ @Test
+ public void testEnable_tracing() throws Exception {
+
+ }
+
+ @Test
+ public void testDisable_tracing() throws Exception {
+
+ }
+}
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+/* Generated By:JavaCC: Do not edit this line. NEMOparserTokenManager.java */\r
+package user.vnspacemanager.languagestyle.NEMOParse;\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.BeforeClass;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparserTokenManager;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.Token;\r
+\r
+import java.io.IOException;\r
+import java.io.PrintStream;\r
+import java.io.Reader;\r
+import java.lang.reflect.Field;\r
+import java.lang.reflect.Member;\r
+import java.lang.reflect.Method;\r
+\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/17.\r
+ */\r
+public class NEMOparserTokenManagerTest extends TestCase {\r
+ private SimpleCharStream simpleCharStream;\r
+ private int lexState;\r
+ private NEMOparserTokenManager nemOparserTokenManager;\r
+ private Class<NEMOparserTokenManager> class1;\r
+ private Field field;\r
+ @Before\r
+ public void setUp() throws Exception {\r
+ class1 = NEMOparserTokenManager.class;\r
+ field = class1.getDeclaredField("input_stream");\r
+ field.setAccessible(true);\r
+\r
+ simpleCharStream = mock(SimpleCharStream.class);\r
+ lexState = 0;\r
+ }\r
+\r
+ @Test\r
+ public void Init_ReInit() throws Exception{\r
+ nemOparserTokenManager = new NEMOparserTokenManager(simpleCharStream);\r
+ NEMOparserTokenManager.ReInit(null);\r
+ nemOparserTokenManager = new NEMOparserTokenManager(simpleCharStream,lexState);//curLexstate = 0\r
+ NEMOparserTokenManager.ReInit(null, lexState);\r
+\r
+ Assert.assertTrue(field.get(class1) == null);\r
+ }\r
+\r
+ @Test\r
+ public void testSetDebugStream() throws Exception {\r
+ NEMOparserTokenManager.setDebugStream(null);\r
+ Field field1 = class1.getField("debugStream");\r
+ Assert.assertTrue(field1.get(class1) == null);\r
+ }\r
+\r
+\r
+ @Test\r
+ public void testJjFillToken() throws Exception {\r
+ /*\r
+ * tested in method "testGetNextToken"\r
+ * */\r
+ }\r
+\r
+ @Test\r
+ public void testGetNextToken() throws Exception {\r
+// Class<SimpleCharStream> simpleCharStreamClass = SimpleCharStream.class;\r
+// Field field1 = simpleCharStreamClass.getDeclaredField("")\r
+ nemOparserTokenManager = new NEMOparserTokenManager(simpleCharStream);\r
+ Assert.assertTrue(field.get(class1) == simpleCharStream);\r
+\r
+ simpleCharStream = new SimpleCharStream(new Reader() {\r
+ @Override\r
+ public int read(char[] cbuf, int off, int len) throws IOException {\r
+ return 0;\r
+ }\r
+\r
+ @Override\r
+ public void close() throws IOException {\r
+\r
+ }\r
+ }, 1, 1, 1);\r
+// System.out.println("BeginToken" + SimpleCharStream.BeginToken());\r
+\r
+// System.out.println(SimpleCharStream.BeginToken());\r
+// NEMOparserTokenManager.getNextToken();\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 5.0 */\r
+/* JavaCCOptions:STATIC=true,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */\r
+package user.vnspacemanager.languagestyle.NEMOParse;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;\r
+\r
+import java.io.IOException;\r
+import java.io.InputStream;\r
+import java.io.Reader;\r
+\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/16.\r
+ */\r
+public class SimpleCharStreamTest extends TestCase {\r
+ private SimpleCharStream simpleCharStream;\r
+ private Reader reader;\r
+ private InputStream inputStream;\r
+ private Reader reader_empty;\r
+ @Before\r
+ public void setUp() throws Exception {\r
+ reader = new Reader() {\r
+ @Override\r
+ public int read(char[] cbuf, int off, int len) throws IOException {\r
+ return 0;\r
+ }\r
+\r
+ @Override\r
+ public void close() throws IOException {\r
+\r
+ }\r
+ };\r
+ inputStream = new InputStream() {\r
+ @Override\r
+ public int read() throws IOException {\r
+ return 0;\r
+ }\r
+ };\r
+ reader_empty = null;\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testInit()throws Exception{\r
+ InputStream inputStream_empty = null;\r
+\r
+ simpleCharStream = new SimpleCharStream(reader,1,1,1);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(reader_empty, 1, 1, 1);\r
+\r
+ simpleCharStream = new SimpleCharStream(reader,1,1);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(reader_empty, 1, 1);\r
+\r
+ simpleCharStream = new SimpleCharStream(reader);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ simpleCharStream = new SimpleCharStream(inputStream,null,1,1,1);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(inputStream, null, 1, 1, 1);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ simpleCharStream = new SimpleCharStream(inputStream,null,1,1);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(inputStream, null, 1, 1);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ simpleCharStream = new SimpleCharStream(inputStream,1,1);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(inputStream, 1, 1);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ simpleCharStream = new SimpleCharStream(inputStream,null);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(inputStream, null);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ simpleCharStream = new SimpleCharStream(inputStream);\r
+ Assert.assertTrue(simpleCharStream != null);\r
+ simpleCharStream.ReInit(inputStream);\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testSetTabSize() throws Exception {\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testGetTabSize() throws Exception {\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testBeginToken_ReadChar_FillBuff_ExpandBuff() throws Exception {\r
+ Assert.assertTrue(simpleCharStream == null);\r
+ simpleCharStream = new SimpleCharStream(reader,1,1,1);\r
+ SimpleCharStream.BeginToken();\r
+ Assert.assertTrue(simpleCharStream != null);\r
+\r
+// Assert.assertTrue(SimpleCharStream.getColumn() == 0);\r
+// Assert.assertTrue(SimpleCharStream.getLine() == 0);\r
+ Assert.assertTrue(SimpleCharStream.getEndColumn() != 0);\r
+ Assert.assertTrue(SimpleCharStream.getEndLine() != 0);\r
+ Assert.assertTrue(SimpleCharStream.getBeginColumn() != 0);\r
+ Assert.assertTrue(SimpleCharStream.getBeginLine() != 0);\r
+\r
+ SimpleCharStream.backup(1);\r
+ Assert.assertTrue(SimpleCharStream.GetImage() != null);\r
+ Assert.assertTrue(SimpleCharStream.GetSuffix(1).length != 0);\r
+ SimpleCharStream.adjustBeginLineColumn(1, 1);\r
+ SimpleCharStream.Done();\r
+ simpleCharStream.ReInit(reader_empty);\r
+\r
+ }\r
+\r
+\r
+\r
+}
\ No newline at end of file