亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? optionprocessortest.cpp

?? This software aims to create an applet and panel tools to manage a wireless interface card, such as
?? CPP
字號(hào):
//
// OptionProcessorTest.cpp
//
// $Id: //poco/Main/Util/testsuite/src/OptionProcessorTest.cpp#1 $
//
// Copyright (c) 2004-2005, Guenter Obiltschnig/Applied Informatics.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//
// 3. Redistributions in any form must be accompanied by information on
//    how to obtain complete source code for this software and any
//    accompanying software that uses this software.  The source code
//    must either be included in the distribution or be available for no
//    more than the cost of distribution plus a nominal fee, and must be
//    freely redistributable under reasonable conditions.  For an
//    executable file, complete source code means the source code for all
//    modules it contains.  It does not include source code for modules or
//    files that typically accompany the major components of the operating
//    system on which the executable file runs.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//


#include "OptionProcessorTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Util/Option.h"
#include "Util/OptionSet.h"
#include "Util/OptionProcessor.h"
#include "Util/OptionException.h"


using Util::Option;
using Util::OptionSet;
using Util::OptionProcessor;


OptionProcessorTest::OptionProcessorTest(const std::string& name): CppUnit::TestCase(name)
{
}


OptionProcessorTest::~OptionProcessorTest()
{
}


void OptionProcessorTest::testUnix()
{
	OptionSet set;
	set.addOption(
		Option("include-dir", "I", "specify a search path for locating header files")
			.required(false)
			.repeatable(true)
			.argument("path"));
			
	set.addOption(
		Option("library-dir", "L", "specify a search path for locating library files")
			.required(false)
			.repeatable(true)
			.argument("path"));

	set.addOption(
		Option("output", "o", "specify the output file", true)
			.argument("file", true));

	set.addOption(
		Option("verbose", "v")
		.description("enable verbose mode")
		.required(false)
		.repeatable(false));
		
	set.addOption(
		Option("optimize", "O")
		.description("enable optimization")
		.required(false)
		.repeatable(false)
		.argument("level", false)
		.group("mode"));
		
	set.addOption(
		Option("debug", "g")
		.description("generate debug information")
		.required(false)
		.repeatable(false)
		.group("mode"));

	set.addOption(
		Option("info", "i")
		.description("print information")
		.required(false)
		.repeatable(false));

	OptionProcessor p1(set);
	std::string name;
	std::string value;
	
	assert (p1.process("-I/usr/include", name, value));
	assert (name == "include-dir");
	assert (value == "/usr/include");

	assert (p1.process("--include:/usr/local/include", name, value));
	assert (name == "include-dir");
	assert (value == "/usr/local/include");

	assert (p1.process("--lib=/usr/local/lib", name, value));
	assert (name == "library-dir");
	assert (value == "/usr/local/lib");
	
	assert (p1.process("-ofile", name, value));
	assert (name == "output");
	assert (value == "file");
	
	assert (!p1.process("src/file.cpp", name, value));
	assert (!p1.process("/src/file.cpp", name, value));
	
	try
	{
		p1.process("--output:file", name, value);
		fail("duplicate - must throw");
	}
	catch (Util::DuplicateOptionException&)
	{
	}
	
	assert (p1.process("-g", name, value));
	assert (name == "debug");
	assert (value == "");
	
	try
	{
		p1.process("--optimize", name, value);
		fail("incompatible - must throw");
	}
	catch (Util::IncompatibleOptionsException&)
	{
	}
	
	try
	{
		p1.process("-x", name, value);
		fail("unknown option - must throw");
	}
	catch (Util::UnknownOptionException&)
	{
	}

	try
	{
		p1.process("--in", name, value);
		fail("ambiguous option - must throw");
	}
	catch (Util::AmbiguousOptionException&)
	{
	}
}


void OptionProcessorTest::testDefault()
{
	OptionSet set;
	set.addOption(
		Option("include-dir", "I", "specify a search path for locating header files")
			.required(false)
			.repeatable(true)
			.argument("path"));
			
	set.addOption(
		Option("library-dir", "L", "specify a search path for locating library files")
			.required(false)
			.repeatable(true)
			.argument("path"));

	set.addOption(
		Option("output", "o", "specify the output file", true)
			.argument("file", true));

	set.addOption(
		Option("verbose", "v")
		.description("enable verbose mode")
		.required(false)
		.repeatable(false));
		
	set.addOption(
		Option("optimize", "O")
		.description("enable optimization")
		.required(false)
		.repeatable(false)
		.argument("level", false)
		.group("mode"));
		
	set.addOption(
		Option("debug", "g")
		.description("generate debug information")
		.required(false)
		.repeatable(false)
		.group("mode"));

	set.addOption(
		Option("info", "i")
		.description("print information")
		.required(false)
		.repeatable(false));

	OptionProcessor p1(set);
	p1.setUnixStyle(false);
	std::string name;
	std::string value;
	
	assert (p1.process("/Inc:/usr/include", name, value));
	assert (name == "include-dir");
	assert (value == "/usr/include");

	assert (p1.process("/include:/usr/local/include", name, value));
	assert (name == "include-dir");
	assert (value == "/usr/local/include");

	assert (p1.process("/lib=/usr/local/lib", name, value));
	assert (name == "library-dir");
	assert (value == "/usr/local/lib");
	
	assert (p1.process("/out:file", name, value));
	assert (name == "output");
	assert (value == "file");
	
	assert (!p1.process("src/file.cpp", name, value));
	assert (!p1.process("\\src\\file.cpp", name, value));
	
	try
	{
		p1.process("/output:file", name, value);
		fail("duplicate - must throw");
	}
	catch (Util::DuplicateOptionException&)
	{
	}
	
	assert (p1.process("/debug", name, value));
	assert (name == "debug");
	assert (value == "");
	
	try
	{
		p1.process("/OPT", name, value);
		fail("incompatible - must throw");
	}
	catch (Util::IncompatibleOptionsException&)
	{
	}
	
	try
	{
		p1.process("/x", name, value);
		fail("unknown option - must throw");
	}
	catch (Util::UnknownOptionException&)
	{
	}

	try
	{
		p1.process("/in", name, value);
		fail("ambiguous option - must throw");
	}
	catch (Util::AmbiguousOptionException&)
	{
	}
}


void OptionProcessorTest::setUp()
{
}


void OptionProcessorTest::tearDown()
{
}


CppUnit::Test* OptionProcessorTest::suite()
{
	CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("OptionProcessorTest");

	CppUnit_addTest(pSuite, OptionProcessorTest, testUnix);
	CppUnit_addTest(pSuite, OptionProcessorTest, testDefault);

	return pSuite;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠久久亚洲欧美| 国产精品2024| www.欧美日韩| 尤物在线观看一区| 欧美成人女星排行榜| 日本高清视频一区二区| 久久99最新地址| 中文字幕日韩一区二区| 久久久久久一二三区| 日韩欧美黄色影院| 欧美精品一区二区三区在线播放| 777色狠狠一区二区三区| 欧美手机在线视频| 国产一区二区不卡老阿姨| 久久精品视频一区二区三区| 91天堂素人约啪| 国产精品资源在线观看| 中文字幕亚洲区| 国产日产亚洲精品系列| 久久久久久久久久久久久女国产乱| 一本色道久久综合精品竹菊| 一区二区在线观看视频| 久久丝袜美腿综合| 色成人在线视频| 国产不卡在线一区| 久久精品免费观看| 亚洲aaa精品| 中文字幕制服丝袜成人av| 99这里只有久久精品视频| 九九国产精品视频| 久久99精品视频| 国产成人在线视频免费播放| 韩国av一区二区三区在线观看| 亚洲欧美日韩在线不卡| 日韩精品专区在线| 国产女同互慰高潮91漫画| 亚洲18色成人| 精品夜夜嗨av一区二区三区| 天天影视涩香欲综合网| 日韩精品亚洲专区| 国产精一区二区三区| 91蜜桃传媒精品久久久一区二区| 欧美午夜一区二区| 精品国产麻豆免费人成网站| 国产精品美女久久久久久久久| 亚洲免费色视频| 麻豆国产一区二区| 成人激情av网| 91精品啪在线观看国产60岁| 国产视频亚洲色图| 三级久久三级久久| 北条麻妃一区二区三区| 51精品秘密在线观看| 日本一区二区免费在线 | 91麻豆精品国产91久久久| 久久亚洲私人国产精品va媚药| 亚洲欧洲一区二区在线播放| 日韩精品五月天| 99久久精品国产网站| 精品少妇一区二区三区视频免付费 | 国产在线精品一区二区夜色| 99麻豆久久久国产精品免费| 91精品视频网| 一区二区国产视频| 国产丶欧美丶日本不卡视频| 欧美女孩性生活视频| 中文一区二区在线观看| 蜜桃视频在线观看一区| 日本黄色一区二区| 久久精品人人做| 奇米精品一区二区三区在线观看| av在线免费不卡| 精品久久五月天| 午夜日韩在线观看| 色噜噜狠狠色综合欧洲selulu| 精品国产乱码久久久久久闺蜜| 亚洲精品成人天堂一二三| 国产69精品久久99不卡| 精品国产不卡一区二区三区| 亚洲成人av一区二区| 91视视频在线观看入口直接观看www | 69堂精品视频| 一区二区视频在线| 成人激情图片网| 久久久一区二区| 麻豆精品在线看| 91精品在线免费| 图片区小说区国产精品视频| 日本韩国一区二区三区视频| 中文字幕一区视频| 国产盗摄视频一区二区三区| 欧美xxxx老人做受| 毛片基地黄久久久久久天堂| 欧美日本一道本在线视频| 一区二区成人在线视频| 一本一道久久a久久精品| 国产精品国产三级国产普通话99| 国产成人亚洲综合a∨婷婷| 精品国产乱子伦一区| 黄色日韩三级电影| 精品久久久久久无| 激情久久五月天| 久久综合资源网| 国内成+人亚洲+欧美+综合在线| 日韩视频在线永久播放| 石原莉奈在线亚洲二区| 91在线观看美女| 亚洲欧美国产高清| 色香蕉久久蜜桃| 亚洲美女免费在线| 在线观看免费成人| 亚洲在线免费播放| 欧美日韩一区二区三区在线看| 亚洲午夜在线视频| 欧美日韩精品一区二区三区蜜桃| 亚洲大片在线观看| 日韩一区二区精品| 国产一区二区视频在线| 欧美国产一区二区| 91亚洲男人天堂| 一区二区国产盗摄色噜噜| 欧美日本在线视频| 久久成人免费网站| 国产无人区一区二区三区| 懂色av噜噜一区二区三区av| 国产精品国产馆在线真实露脸 | 成人午夜视频在线观看| 亚洲天天做日日做天天谢日日欢| 91久久精品日日躁夜夜躁欧美| 亚洲高清免费一级二级三级| 欧美高清一级片在线| 久久国产生活片100| 欧美国产欧美综合| 91色在线porny| 日韩国产欧美三级| 国产亚洲精品久| 91亚洲资源网| 老司机午夜精品99久久| 国产精品乱码一区二三区小蝌蚪| 日本韩国精品在线| 免费成人深夜小野草| 国产精品全国免费观看高清| 欧美三片在线视频观看| 国产最新精品精品你懂的| 亚洲欧美色一区| 日韩欧美国产综合| av在线不卡电影| 午夜精品免费在线| 欧美国产一区视频在线观看| 91官网在线观看| 久久电影网站中文字幕| 亚洲欧美综合色| 欧美精品乱码久久久久久| 国产精品一区专区| 亚洲最新在线观看| 久久久美女艺术照精彩视频福利播放| 波多野结衣亚洲| 另类小说视频一区二区| 有坂深雪av一区二区精品| 久久久久久久久久久久久久久99| 欧美在线高清视频| 国产成人99久久亚洲综合精品| 亚洲成人一区二区| 中文字幕一区二区三区四区| 日韩午夜中文字幕| 91麻豆.com| 国产成人99久久亚洲综合精品| 日日欢夜夜爽一区| 国产精品久久久久影院| 欧美一级免费大片| 在线一区二区三区四区五区 | 国产综合色在线视频区| 亚洲香蕉伊在人在线观| 亚洲国产精品99久久久久久久久| 欧美精品久久一区| 91免费版在线| 国产乱人伦精品一区二区在线观看| 一二三区精品视频| 国产欧美日韩另类视频免费观看| 欧美精品久久一区| 欧美性猛片xxxx免费看久爱 | 国产精品美女久久久久久久久久久| 日韩午夜在线观看视频| 欧美色中文字幕| 91麻豆视频网站| 成人h动漫精品一区二| 国内成人自拍视频| 精品一二三四区| 毛片不卡一区二区| 青草av.久久免费一区| 亚洲国产精品一区二区久久| 亚洲日本中文字幕区| 久久精品视频免费| 久久免费看少妇高潮| 精品日本一线二线三线不卡| 正在播放亚洲一区| 制服丝袜激情欧洲亚洲| 欧美高清dvd| 在线成人午夜影院| 欧美精品在线观看一区二区|