AUD_Sound* AUD_getPythonSound(PyObject* sound) { Factory* factory = checkFactory(sound); if(!factory) return NULL; return new AUD_Reference<AUD_IFactory>(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(factory->factory)); }
AUD_Sound *AUD_getPythonSound(void *sound) { Factory *factory = checkFactory((PyObject *)sound); if (!factory) return NULL; return new boost::shared_ptr<AUD_IFactory>(*reinterpret_cast<boost::shared_ptr<AUD_IFactory>*>(factory->factory)); }
TEST_F(ParserFactoryTests, objectFactoryTypeNameOpenClose) { ASSERT_TRUE( parseDocument( "object factory<integer> name {}") ); EXPECT_EQ(1U, mDocument->objects().size()); EXPECT_TRUE(checkFactory(0, 1, 1, "name", compil::Factory::EType::object())); EXPECT_TRUE(checkFactoryParameterType(0, "integer")); }
TEST_F(ParserFactoryTests, factoryTypeNameCommentOpenFilterFieldWithMethodSemicolonClose) { ASSERT_TRUE( parseDocument( "structure sname { integer i; }\n" "object factory<sname> name { filter i with blah; }") ); EXPECT_EQ(2U, mDocument->objects().size()); EXPECT_TRUE(checkFactory(1, 2, 1, "name", compil::Factory::EType::object())); EXPECT_TRUE(checkFactoryParameterType(1, "sname")); EXPECT_TRUE(checkFilter(1, 0, 2, 30, "i", "blah")); }
TEST_F(ParserFactoryTests, factory2Filters) { ASSERT_TRUE( parseDocument( "structure sname { integer i1; integer i2; }\n" "object factory<sname> name { filter i1 with blah1; filter i2 with blah2; }") ); EXPECT_EQ(2U, mDocument->objects().size()); EXPECT_TRUE(checkFactory(1, 2, 1, "name", compil::Factory::EType::object())); EXPECT_TRUE(checkFactoryParameterType(1, "sname")); EXPECT_TRUE(checkFilter(1, 0, 2, 30, "i1", "blah1")); EXPECT_TRUE(checkFilter(1, 1, 2, 52, "i2", "blah2")); }
EXPECT_EQ(1U, mDocument->objects().size()); EXPECT_TRUE(checkFactory(0, 1, 1, "name", compil::Factory::EType::object())); EXPECT_TRUE(checkFactoryParameterType(0, "integer")); } TEST_F(ParserFactoryTests, factoryMissingParameterTypeNameOpenClose) { ASSERT_FALSE( parseDocument( "hierarchy factory<blah> name {}") ); ASSERT_EQ(1U, mpParser->messages().size()); EXPECT_TRUE(checkErrorMessage(0, 1, 19, compil::Message::p_unknownClassifierType, compil::Message::Type("blah"))); } TEST_F(ParserFactoryTests, 2factoiesWithComments) { ASSERT_TRUE( parseDocument( "//comment1\n" "hierarchy factory<integer> name1 {}\n" "//comment2\n" "object factory<integer> name2 {}") ); EXPECT_EQ(2U, mDocument->objects().size()); EXPECT_TRUE(checkFactory(0, 2, 1, "name1", compil::Factory::EType::hierarchy(), "comment1")); EXPECT_TRUE(checkFactory(1, 4, 1, "name2", compil::Factory::EType::object(), "comment2")); EXPECT_EQ(0U, mpParser->messages().size()); }