OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
TestPredefinedString.cpp
Go to the documentation of this file.
1#include <gtest/gtest.h>
2
8
9using namespace Attributes;
10
11TEST(PredefinedStringTest, TestDistributionType) {
12 Distribution dist;
13
14 auto* typeAttr = dist.findAttribute("TYPE");
15 ASSERT_NE(typeAttr, nullptr);
16
17 auto* typeAttribute = dynamic_cast<PredefinedString*>(&typeAttr->getHandler());
18 ASSERT_NE(typeAttribute, nullptr);
19
20 {
21 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "GAUSS");
22 Statement::TokenList tokenList({token});
23 SimpleStatement statement("PredefinedString", tokenList);
24
25 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
26 EXPECT_EQ(Attributes::getString(*typeAttr), "GAUSS");
27 }
28
29 {
30 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "MULTIVARIATEGAUSS");
31 Statement::TokenList tokenList({token});
32 SimpleStatement statement("PredefinedString", tokenList);
33
34 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
35 EXPECT_EQ(Attributes::getString(*typeAttr), "MULTIVARIATEGAUSS");
36 }
37
38 {
39 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "gauss");
40 Statement::TokenList tokenList({token});
41 SimpleStatement statement("PredefinedString", tokenList);
42
43 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
44 EXPECT_EQ(Attributes::getString(*typeAttr), "GAUSS");
45 }
46
47 {
48 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "Gauss");
49 Statement::TokenList tokenList({token});
50 SimpleStatement statement("PredefinedString", tokenList);
51
52 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
53 EXPECT_EQ(Attributes::getString(*typeAttr), "GAUSS");
54 }
55
56 {
57 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "flattop");
58 Statement::TokenList tokenList({token});
59 SimpleStatement statement("PredefinedString", tokenList);
60
61 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
62 EXPECT_EQ(Attributes::getString(*typeAttr), "FLATTOP");
63 }
64
65 {
66 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "FromFile");
67 Statement::TokenList tokenList({token});
68 SimpleStatement statement("PredefinedString", tokenList);
69
70 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
71 EXPECT_EQ(Attributes::getString(*typeAttr), "FROMFILE");
72 }
73
74 {
75 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "emittedfromfile");
76 Statement::TokenList tokenList({token});
77 SimpleStatement statement("PredefinedString", tokenList);
78
79 EXPECT_NO_THROW(typeAttribute->parse(*typeAttr, statement, true));
80 EXPECT_EQ(Attributes::getString(*typeAttr), "EMITTEDFROMFILE");
81 }
82
83 {
84 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "guass");
85 Statement::TokenList tokenList({token});
86 SimpleStatement statement("PredefinedString", tokenList);
87
88 EXPECT_THROW(typeAttribute->parse(*typeAttr, statement, true), ParseError);
89 }
90
91 {
92 Token token("PredefinedStringTest.in", 1, Token::IS_STRING, "");
93 Statement::TokenList tokenList({token});
94 SimpleStatement statement("PredefinedString", tokenList);
95
96 EXPECT_THROW(typeAttribute->parse(*typeAttr, statement, true), ParseError);
97 }
98}
TEST(PredefinedStringTest, TestDistributionType)
Parser for an attribute of type string.
virtual Attribute * findAttribute(const std::string &name)
Find an attribute by name.
Definition Object.cpp:56
Parse exception.
Definition ParseError.h:31
A simple input statement in token form.
std::list< Token > TokenList
The type of the enclosed token list.
Definition Statement.h:40
Representation of a single input token.
Definition Token.h:32
@ IS_STRING
Definition Token.h:35
A collection of routines to construct object Attributes and retrieve.
std::string getString(const Attribute &attr)
Get string value.