Skip to content
Snippets Groups Projects
Select Git revision
  • fcb970760f239dc60f1f667f7ca616cb1acda97a
  • main default protected
  • ud_training_script
  • fix_seed
  • merged-with-ner
  • multiword_fix_transformer
  • transformer_encoder
  • combo3
  • save_deprel_matrix_to_npz
  • master protected
  • combo-lambo
  • lambo-sent-attributes
  • adding_lambo
  • develop
  • update_allenlp2
  • develop_tmp
  • tokens_truncation
  • LR_test
  • eud_iwpt
  • iob
  • eud_iwpt_shared_task_bert_finetuning
  • 3.3.1
  • list
  • 3.2.1
  • 3.0.3
  • 3.0.1
  • 3.0.0
  • v1.0.6
  • v1.0.5
  • v1.0.4
  • v1.0.3
  • v1.0.2
  • v1.0.1
  • v1.0.0
34 results

example.conllu

Blame
  • positionpredicates.cpp 4.28 KiB
    /*
        Copyright (C) 2011 Adam Wardyński, Tomasz Śniatowski, Paweł Kędzia,
        Adam Radziszewski, Bartosz Broda
        Part of the WCCL project
    
        This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the Free
    Software Foundation; either version 3 of the License, or (at your option)
    any later version.
    
        This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE. 
    
        See the LICENSE and COPYING files for more details.
    */
    
    #include <boost/test/unit_test.hpp>
    #include <boost/bind.hpp>
    #include <boost/shared_ptr.hpp>
    #include <libcorpus2/sentence.h>
    
    #include <libwccl/ops/functions/constant.h>
    #include <libwccl/ops/functions/bool/predicates/isinside.h>
    #include <libwccl/ops/functions/bool/predicates/isoutside.h>
    
    #include "optest.h"
    
    using namespace Wccl;
    
    BOOST_AUTO_TEST_SUITE(position_predicates)
    
    struct PosPredFix : public Wccl::PositionFixture
    {
    	PosPredFix()
    		: Wccl::PositionFixture(),
    		  s(boost::make_shared<Corpus2::Sentence>()),
    		  sc(s),
    		  tagset(),
    		  cx(sc, boost::make_shared<Variables>())
    	{
    		Corpus2::Token* the_token = new Corpus2::Token("ZZ", PwrNlp::Whitespace::ManySpaces);
    		Corpus2::Tag t1(Corpus2::mask_t(0));
    		Corpus2::Lexeme l1("aaa", t1);
    		Corpus2::Lexeme l2("bbb", t1);
    		the_token->add_lexeme(l1);
    		the_token->add_lexeme(l2);
    		s->append(the_token);
    		s->append(the_token->clone());
    	}
    
    	boost::shared_ptr<Corpus2::Sentence> s;
    	SentenceContext sc;
    	Corpus2::Tagset tagset;
    	FunExecContext cx;
    };
    
    BOOST_FIXTURE_TEST_CASE(is_inside_1, PosPredFix)
    {
    	IsInside is_inside(pos(1));
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(!is_inside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_inside_minus1, PosPredFix)
    {
    	IsInside is_inside(pos(-1));
    	BOOST_CHECK(!is_inside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_inside_nowhere, PosPredFix)
    {
    	IsInside is_inside(nowhere());
    	BOOST_CHECK(!is_inside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(!is_inside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_inside_begin, PosPredFix)
    {
    	IsInside is_inside(begin());
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_inside_end, PosPredFix)
    {
    	IsInside is_inside(end());
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(is_inside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_1, PosPredFix)
    {
    	IsOutside is_outside(pos(1));
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(is_outside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_minus1, PosPredFix)
    {
    	IsOutside is_outside(pos(-1));
    	BOOST_CHECK(is_outside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_nowhere, PosPredFix)
    {
    	IsOutside is_outside(nowhere());
    	BOOST_CHECK(is_outside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(is_outside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_begin, PosPredFix)
    {
    	IsOutside is_outside(begin());
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_end, PosPredFix)
    {
    	IsOutside is_outside(end());
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    	sc.advance();
    	BOOST_CHECK(!is_outside.apply(cx)->get_value());
    }
    //------ to_string test cases -------
    
    BOOST_FIXTURE_TEST_CASE(is_inside_to_string, PosPredFix)
    {
    	IsInside is_inside(end());
    	BOOST_CHECK_EQUAL("inside(end)", is_inside.to_string(tagset));
    }
    
    BOOST_FIXTURE_TEST_CASE(is_inside_to_raw_string, PosPredFix)
    {
    	IsInside is_inside(end());
    	BOOST_CHECK_EQUAL("inside(end)", is_inside.to_raw_string());
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_to_string, PosPredFix)
    {
    	IsOutside is_outside(begin());
    	BOOST_CHECK_EQUAL("outside(begin)", is_outside.to_string(tagset));
    }
    
    BOOST_FIXTURE_TEST_CASE(is_outside_to_raw_string, PosPredFix)
    {
    	IsOutside is_outside(nowhere());
    	BOOST_CHECK_EQUAL("outside(nowhere)", is_outside.to_raw_string());
    }
    BOOST_AUTO_TEST_SUITE_END()