Skip to content

Commit

Permalink
re #7403 expose new methods to python and add test
Browse files Browse the repository at this point in the history
  • Loading branch information
NickDraper committed Jul 18, 2013
1 parent 0872787 commit 4d1224e
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "MantidKernel/ConfigService.h"
#include "MantidKernel/FacilityInfo.h"
#include "MantidPythonInterface/kernel/Converters/PySequenceToVector.h"
#include "MantidPythonInterface/kernel/StlExportDefinitions.h"
#include <boost/python/class.hpp>
#include <boost/python/def.hpp>
#include <boost/python/reference_existing_object.hpp>
Expand Down Expand Up @@ -37,6 +38,10 @@ namespace

void export_ConfigService()
{
using Mantid::PythonInterface::std_vector_exporter;

std_vector_exporter<FacilityInfo*>::wrap("std_vector_facilityinfo");

class_<ConfigServiceImpl, boost::noncopyable>("ConfigServiceImpl", no_init)
.def("reset", &ConfigServiceImpl::reset,
"Clears all user settings and removes the user properties file")
Expand All @@ -48,6 +53,10 @@ void export_ConfigService()
.def("getInstrumentDirectory", &ConfigServiceImpl::getInstrumentDirectory,
"Returns the directory used for the instrument definitions")

.def("getFacilityNames", &ConfigServiceImpl::getFacilityNames, "Returns the default facility")

.def("getFacilities", &ConfigServiceImpl::getFacilities, "Returns the default facility")

.def("getFacility", (const FacilityInfo&(ConfigServiceImpl::*)() const)&ConfigServiceImpl::getFacility,
return_value_policy<reference_existing_object>(), "Returns the default facility")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,20 @@ def test_getFacility_With_Name_Returns_A_FacilityInfo_Object(self):
facility = config.getFacility("ISIS")
self.assertTrue(isinstance(facility, FacilityInfo))
self.assertRaises(RuntimeError, config.getFacility, "MadeUpFacility")


def test_getFacilities_Returns_A_FacilityInfo_List(self):
facilities = config.getFacilities()
self.assertTrue(isinstance(facilities[0], FacilityInfo))

def test_getFacilities_and_Facility_Names_are_in_sync_and_non_empty(self):
facilities = config.getFacilities()
names = config.getFacilityNames()

self.assertTrue(len(names)>0)
self.assertEquals(len(names),len(facilities))
for i in range(len(names)):
self.assertEquals(names[i],facilities[i].name())

def test_getInstrumentReturns_A_InstrumentInfo_Object(self):
self.assertTrue(isinstance(config.getInstrument("WISH"), InstrumentInfo))
self.assertRaises(RuntimeError, config.getInstrument, "MadeUpInstrument")
Expand Down

0 comments on commit 4d1224e

Please sign in to comment.