/cpp/src/test/java/com/google/test/metric/cpp/dom/VariableTest.java

http://testability-explorer.googlecode.com/ · Java · 43 lines · 22 code · 6 blank · 15 comment · 0 complexity · a81913536d9dfef3765c257bac976e7a MD5 · raw file

  1. /*
  2. * Copyright 2008 Google Inc.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.google.test.metric.cpp.dom;
  17. import com.google.test.metric.cpp.Parser;
  18. import junit.framework.TestCase;
  19. public class VariableTest extends TestCase {
  20. private TranslationUnit parse(String source) throws Exception {
  21. return new Parser().parse(source);
  22. }
  23. public void testSimple() {
  24. Variable v = new Variable("foo::bar::a");
  25. assertEquals("a", v.getName());
  26. assertEquals("foo::bar::a", v.getQualifiedName());
  27. }
  28. public void testVariableWithContext() throws Exception {
  29. TranslationUnit unit = parse("namespace A { namespace B { int a; }}");
  30. Namespace namespaceA = unit.getChild(0);
  31. Namespace namespaceB = namespaceA.getChild(0);
  32. VariableDeclaration variableA = namespaceB.getChild(0);
  33. Variable v = new Variable("C::a", variableA);
  34. assertEquals("a", v.getName());
  35. assertEquals("A::B::C::a", v.getQualifiedName());
  36. }
  37. }