| 
									
										
										
										
											2014-12-02 20:30:52 +08:00
										 |  |  | /* ----------------------------------------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-11 22:39:48 +08:00
										 |  |  |  * GTSAM Copyright 2010, Georgia Tech Research Corporation, | 
					
						
							| 
									
										
										
										
											2014-12-02 20:30:52 +08:00
										 |  |  |  * Atlanta, Georgia 30332-0415 | 
					
						
							|  |  |  |  * All Rights Reserved | 
					
						
							|  |  |  |  * Authors: Frank Dellaert, et al. (see THANKS for the full author list) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * See LICENSE for the license information | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * -------------------------------------------------------------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * @file testMethod.cpp | 
					
						
							|  |  |  |  * @brief Unit test for GlobalFunction class | 
					
						
							|  |  |  |  * @author Frank Dellaert | 
					
						
							|  |  |  |  * @date Nov 12, 2014 | 
					
						
							|  |  |  |  **/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <wrap/GlobalFunction.h>
 | 
					
						
							|  |  |  | #include <CppUnitLite/TestHarness.h>
 | 
					
						
							|  |  |  | #include <iostream>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | using namespace std; | 
					
						
							|  |  |  | using namespace wrap; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //******************************************************************************
 | 
					
						
							|  |  |  | // Constructor
 | 
					
						
							|  |  |  | TEST( GlobalFunction, Constructor ) { | 
					
						
							|  |  |  |   GlobalFunction f; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //******************************************************************************
 | 
					
						
							|  |  |  | TEST( GlobalFunction, Grammar ) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   using classic::space_p; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Create type grammar that will place result in actual
 | 
					
						
							|  |  |  |   GlobalFunctions actual; | 
					
						
							| 
									
										
										
										
											2014-12-02 20:49:25 +08:00
										 |  |  |   vector<string> namespaces; | 
					
						
							| 
									
										
										
										
											2016-11-25 17:05:52 +08:00
										 |  |  |   std::string includeFile; | 
					
						
							|  |  |  |   GlobalFunctionGrammar g(actual,namespaces,includeFile); | 
					
						
							| 
									
										
										
										
											2014-12-02 20:30:52 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   // a class type with namespaces
 | 
					
						
							|  |  |  |   EXPECT(parse("Vector aGlobalFunction();", g, space_p).full); | 
					
						
							|  |  |  |   EXPECT(parse("Vector overloadedGlobalFunction(int a);", g, space_p).full); | 
					
						
							|  |  |  |   EXPECT(parse("Vector overloadedGlobalFunction(int a, double b);", g, space_p).full); | 
					
						
							| 
									
										
										
										
											2014-12-02 20:41:46 +08:00
										 |  |  |   LONGS_EQUAL(2,actual.size()); | 
					
						
							| 
									
										
										
										
											2014-12-02 20:30:52 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //******************************************************************************
 | 
					
						
							|  |  |  | int main() { | 
					
						
							|  |  |  |   TestResult tr; | 
					
						
							|  |  |  |   return TestRegistry::runAllTests(tr); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | //******************************************************************************
 |