Blame IlmImfTest/testMultiView.cpp

Packit Service 6754ca
///////////////////////////////////////////////////////////////////////////
Packit Service 6754ca
//
Packit Service 6754ca
// Copyright (c) 2007 Weta Digital Ltd
Packit Service 6754ca
// Copyright (c) 2012 Industrial Light & Magic, a division of Lucasfilm
Packit Service 6754ca
// 
Packit Service 6754ca
// All rights reserved.
Packit Service 6754ca
// 
Packit Service 6754ca
// Redistribution and use in source and binary forms, with or without
Packit Service 6754ca
// modification, are permitted provided that the following conditions are
Packit Service 6754ca
// met:
Packit Service 6754ca
// *       Redistributions of source code must retain the above copyright
Packit Service 6754ca
// notice, this list of conditions and the following disclaimer.
Packit Service 6754ca
// *       Redistributions in binary form must reproduce the above
Packit Service 6754ca
// copyright notice, this list of conditions and the following disclaimer
Packit Service 6754ca
// in the documentation and/or other materials provided with the
Packit Service 6754ca
// distribution.
Packit Service 6754ca
// *       Neither the name of Weta Digital nor the names of
Packit Service 6754ca
// its contributors may be used to endorse or promote products derived
Packit Service 6754ca
// from this software without specific prior written permission. 
Packit Service 6754ca
// 
Packit Service 6754ca
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Packit Service 6754ca
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Packit Service 6754ca
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
Packit Service 6754ca
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
Packit Service 6754ca
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
Packit Service 6754ca
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
Packit Service 6754ca
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
Packit Service 6754ca
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
Packit Service 6754ca
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Packit Service 6754ca
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Packit Service 6754ca
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit Service 6754ca
//
Packit Service 6754ca
///////////////////////////////////////////////////////////////////////////
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
#include <ImfMultiView.h>
Packit Service 6754ca
Packit Service 6754ca
#include <typeinfo>
Packit Service 6754ca
#include <sstream>
Packit Service 6754ca
#include <string.h>
Packit Service 6754ca
#include <assert.h>
Packit Service 6754ca
#include <stdarg.h>
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
using namespace OPENEXR_IMF_NAMESPACE;
Packit Service 6754ca
using namespace std;
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
namespace {
Packit Service 6754ca
Packit Service 6754ca
ChannelList
Packit Service 6754ca
buildList (const char *name, ...)
Packit Service 6754ca
{
Packit Service 6754ca
    //
Packit Service 6754ca
    // nice function to build channel lists
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    ChannelList list;
Packit Service 6754ca
    const char *channelName = name;
Packit Service 6754ca
Packit Service 6754ca
    va_list ap;
Packit Service 6754ca
    va_start (ap, name);
Packit Service 6754ca
Packit Service 6754ca
    while (channelName != 0)
Packit Service 6754ca
    {
Packit Service 6754ca
	list.insert (channelName, Channel());
Packit Service 6754ca
	channelName = va_arg (ap, char *);
Packit Service 6754ca
    }
Packit Service 6754ca
Packit Service 6754ca
    va_end (ap);
Packit Service 6754ca
    return list;
Packit Service 6754ca
}
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
void
Packit Service 6754ca
testMultiViewFunctions ()
Packit Service 6754ca
{
Packit Service 6754ca
    StringVector multiView;
Packit Service 6754ca
Packit Service 6754ca
    multiView.push_back ("right");
Packit Service 6754ca
    multiView.push_back ("left");
Packit Service 6754ca
    multiView.push_back ("centre");
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Test viewFromChannelName()
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    // default view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("R", multiView) == "right");
Packit Service 6754ca
Packit Service 6754ca
    // explicitly specified default view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("right.balween", multiView) == "right");
Packit Service 6754ca
Packit Service 6754ca
    // non-default view: two sections
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("left.gritstone", multiView) == "left");
Packit Service 6754ca
Packit Service 6754ca
    // non-default view: two sections
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("centre.ronaldsay", multiView) == "centre");
Packit Service 6754ca
Packit Service 6754ca
    // non-default view: three sections
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("swaledale.left.lonk", multiView) == "left");
Packit Service 6754ca
Packit Service 6754ca
    // explicitly specified default view: four sections
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("manx.loghtan.right.shetland",
Packit Service 6754ca
				 multiView) == "right");
Packit Service 6754ca
Packit Service 6754ca
    // non-default view: five sections
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("dorset.down.hebridean.centre.r",
Packit Service 6754ca
                                 multiView) == "centre");
Packit Service 6754ca
Packit Service 6754ca
    // shouldn't happen that we have null channel names
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("", multiView) == "");
Packit Service 6754ca
Packit Service 6754ca
    // single section with no view name: default view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("dartmoor", multiView) == "right");
Packit Service 6754ca
Packit Service 6754ca
    // two sections with no view name: no view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("scottish.blackface", multiView) == "");
Packit Service 6754ca
Packit Service 6754ca
    // three sections with no view name: no view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("beulah.speckled.face", multiView) == "");
Packit Service 6754ca
Packit Service 6754ca
    // four sections with no view name: no view
Packit Service 6754ca
Packit Service 6754ca
    assert (viewFromChannelName ("devon.and.cornwall.longwool",
Packit Service 6754ca
				 multiView) == "");
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Test areCounterparts()
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    // two non default channel names in list
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("right.R",
Packit Service 6754ca
			     "centre.R",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // two channel names, both explicit and in list,
Packit Service 6754ca
    // even though one is default channel
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("left.R",
Packit Service 6754ca
			     "right.R",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // default view with non-default view
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("R",
Packit Service 6754ca
			     "left.R",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but other way round
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("left.R",
Packit Service 6754ca
			     "R",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // same channel name specified in two different ways
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("right.R",
Packit Service 6754ca
			     "R",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but other way round
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("R",
Packit Service 6754ca
			     "right.R",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // none.R is not in a view
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("none.R",
Packit Service 6754ca
			     "left.R",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but other way round
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("left.R",
Packit Service 6754ca
			     "none.R",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but with default channel
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("X",
Packit Service 6754ca
			     "none.X",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but other way round
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("none.B",
Packit Service 6754ca
			     "B",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // both not in a view
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("southdown.none.G",
Packit Service 6754ca
			     "wiltshire.horn.G",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // as above, but different lengths of names
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wiltshire.horn.G",
Packit Service 6754ca
			     "cotswold.G",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // three section pairs
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydale.left.baa",
Packit Service 6754ca
                             "wensleydale.right.baa",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // different in first section
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydal.left.baa",
Packit Service 6754ca
                             "wensleydale.right.baa",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // different in last section
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydale.left.bah",
Packit Service 6754ca
                             "wensleydale.right.baa",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // same channel
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydale.left.baa",
Packit Service 6754ca
                             "wensleydale.left.baa",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // second is in no view
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydale.right.fell",
Packit Service 6754ca
			     "wensleydale.rough.fell",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // first is in no view
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("wensleydale.rough.fell",
Packit Service 6754ca
			     "wensleydale.left.fell",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // four sectons
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("lincoln.longwool.right.A",
Packit Service 6754ca
			     "lincoln.longwool.left.A",
Packit Service 6754ca
			     multiView) == true);
Packit Service 6754ca
Packit Service 6754ca
    // different in final section
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("lincoln.longwool.right.B",
Packit Service 6754ca
			     "lincoln.longwool.left.A",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // different in second section
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("lincoln.shortwool.right.A",
Packit Service 6754ca
			     "lincoln.longwool.left.A",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // different in first section
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("cumbria.longwool.right.A",
Packit Service 6754ca
			     "lincoln.longwool.left.A",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // enough said
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("baa.baa.black.sheep",
Packit Service 6754ca
			     "lincoln.longwool.left.A",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
    // three sections with default - only last is same
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("portland.left.baa",
Packit Service 6754ca
			     "baa",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    // four sections with default
Packit Service 6754ca
Packit Service 6754ca
    assert (areCounterparts ("dorset.down.left.baa",
Packit Service 6754ca
			     "baa",
Packit Service 6754ca
			     multiView) == false);
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Channel list tests
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    // list of channels in some multiview image
Packit Service 6754ca
Packit Service 6754ca
    ChannelList a = buildList
Packit Service 6754ca
	("A",
Packit Service 6754ca
	 "B",
Packit Service 6754ca
	 "C",
Packit Service 6754ca
	 "right.jacob",
Packit Service 6754ca
	 "shropshire.right.D",
Packit Service 6754ca
	 "castlemilk.moorit.right.A",
Packit Service 6754ca
	 "black.welsh.mountain.right.A",
Packit Service 6754ca
	 "left.A",
Packit Service 6754ca
	 "left.B",
Packit Service 6754ca
	 "left.C",
Packit Service 6754ca
	 "left.jacob",
Packit Service 6754ca
	 "shropshire.left.D",
Packit Service 6754ca
	 "castlemilk.moorit.left.A",
Packit Service 6754ca
	 "black.welsh.mountain.left.A",
Packit Service 6754ca
	 "centre.A",
Packit Service 6754ca
	 "centre.B",
Packit Service 6754ca
	 "centre.C",
Packit Service 6754ca
	 "shropshire.centre.D",
Packit Service 6754ca
	 "castlemilk.moorit.centre.A",
Packit Service 6754ca
	 "none.A",
Packit Service 6754ca
	 "none.B",
Packit Service 6754ca
	 "none.C",
Packit Service 6754ca
	 "none.D",
Packit Service 6754ca
	 "none.jacob",
Packit Service 6754ca
	 "shropshire.none.D",
Packit Service 6754ca
	 "rough.fell",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // List of channels in each view
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    // all left channels
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realLeft = buildList
Packit Service 6754ca
	("left.A",
Packit Service 6754ca
	 "left.B",
Packit Service 6754ca
	 "left.C",
Packit Service 6754ca
	 "left.jacob",
Packit Service 6754ca
	 "shropshire.left.D",
Packit Service 6754ca
	 "castlemilk.moorit.left.A",
Packit Service 6754ca
	 "black.welsh.mountain.left.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realRight = buildList
Packit Service 6754ca
	("A",
Packit Service 6754ca
	 "B",
Packit Service 6754ca
	 "C",
Packit Service 6754ca
	 "right.jacob",
Packit Service 6754ca
	 "shropshire.right.D",
Packit Service 6754ca
	 "castlemilk.moorit.right.A",
Packit Service 6754ca
	 "black.welsh.mountain.right.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    // all the right channels including the default channels
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realCentre = buildList
Packit Service 6754ca
	("centre.A",
Packit Service 6754ca
	 "centre.B",
Packit Service 6754ca
	 "centre.C",
Packit Service 6754ca
	 "shropshire.centre.D",
Packit Service 6754ca
	 "castlemilk.moorit.centre.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    // no jacob channel
Packit Service 6754ca
    // there IS a jacob channel but it has no counterparts because
Packit Service 6754ca
    // this is in "no view"
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realNone = buildList
Packit Service 6754ca
	("none.A",
Packit Service 6754ca
	 "none.B",
Packit Service 6754ca
	 "none.D",
Packit Service 6754ca
	 "none.C",
Packit Service 6754ca
	 "none.jacob",
Packit Service 6754ca
	 "shropshire.none.D",
Packit Service 6754ca
	 "rough.fell",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    // have a dummy name just to throw a wolf amongst the sheep
Packit Service 6754ca
Packit Service 6754ca
    multiView.push_back ("wolf");
Packit Service 6754ca
Packit Service 6754ca
    // no channels
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realNull = buildList ((char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Test channelsInView()
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    // default view channel extraction
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInView ("right", a, multiView) == realRight);
Packit Service 6754ca
Packit Service 6754ca
    // non-default view channel extraction
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInView ("left", a, multiView) == realLeft);
Packit Service 6754ca
Packit Service 6754ca
    // missing 'centre.jacob'
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInView ("centre", a, multiView) == realCentre);
Packit Service 6754ca
Packit Service 6754ca
    // "none" isn't a view name, no channels returned
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInView ("none", a, multiView) == realNull);
Packit Service 6754ca
Packit Service 6754ca
    // "wolf" has no channels, no channels returned
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInView ("wolf", a, multiView) == realNull);
Packit Service 6754ca
Packit Service 6754ca
    // all no view channels
Packit Service 6754ca
Packit Service 6754ca
    assert (channelsInNoView (a, multiView)  == realNone);
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Test channelInAllViews()
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realA = buildList
Packit Service 6754ca
	("left.A",
Packit Service 6754ca
	 "A",
Packit Service 6754ca
	 "centre.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realB = buildList
Packit Service 6754ca
	("left.B",
Packit Service 6754ca
	 "B",
Packit Service 6754ca
	 "centre.B",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realJacob = buildList
Packit Service 6754ca
	("left.jacob",
Packit Service 6754ca
	 "right.jacob",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realCm = buildList
Packit Service 6754ca
	("castlemilk.moorit.left.A",
Packit Service 6754ca
	 "castlemillk.moorit.right.A",
Packit Service 6754ca
	 "castlemilk.moorit.centre.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    ChannelList realBwm = buildList
Packit Service 6754ca
	("black.welsh.mountain.left.A",
Packit Service 6754ca
	 "black.welsh.mountain.right.A",
Packit Service 6754ca
	 (char *) 0);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("left.A", a, multiView) == realA);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("A", a, multiView) == realA);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("centre.B", a, multiView) == realB);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("right.jacob", a, multiView) == realJacob);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("castlemilk.moorit.centre.A",
Packit Service 6754ca
			       a, multiView) == realCm);
Packit Service 6754ca
Packit Service 6754ca
    assert (channelInAllViews ("black.welsh.mountain.right.A",
Packit Service 6754ca
			       a, multiView) == realBwm);
Packit Service 6754ca
Packit Service 6754ca
    //
Packit Service 6754ca
    // Test insertViewName()
Packit Service 6754ca
    //
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("A", multiView, 0) ==
Packit Service 6754ca
			    "A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("mountain.A", multiView, 0) ==
Packit Service 6754ca
			    "mountain.right.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("welsh.mountain.A", multiView, 0) ==
Packit Service 6754ca
			    "welsh.mountain.right.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("black.welsh.mountain.A", multiView, 0) ==
Packit Service 6754ca
			    "black.welsh.mountain.right.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("A", multiView, 1) ==
Packit Service 6754ca
			    "left.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("mountain.A", multiView, 1) ==
Packit Service 6754ca
			    "mountain.left.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("welsh.mountain.A", multiView, 1) ==
Packit Service 6754ca
			    "welsh.mountain.left.A");
Packit Service 6754ca
Packit Service 6754ca
    assert (insertViewName ("black.welsh.mountain.A", multiView, 1) ==
Packit Service 6754ca
			    "black.welsh.mountain.left.A");
Packit Service 6754ca
}
Packit Service 6754ca
Packit Service 6754ca
} // namespace 
Packit Service 6754ca
Packit Service 6754ca
Packit Service 6754ca
void
Packit Service 6754ca
testMultiView (const std::string&)
Packit Service 6754ca
{
Packit Service 6754ca
    try
Packit Service 6754ca
    {
Packit Service 6754ca
	cout << "Testing multi-view channel list functions" << endl;
Packit Service 6754ca
	testMultiViewFunctions();
Packit Service 6754ca
	cout << "ok\n" << endl;
Packit Service 6754ca
    }
Packit Service 6754ca
    catch (const std::exception &e)
Packit Service 6754ca
    {
Packit Service 6754ca
	cerr << "ERROR -- caught exception: " << e.what() << endl;
Packit Service 6754ca
	assert (false);
Packit Service 6754ca
    }
Packit Service 6754ca
}