Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
mantid
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Model registry
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
mantidproject
mantid
Commits
488cb3c2
Commit
488cb3c2
authored
5 years ago
by
Matthew Andrew
Browse files
Options
Downloads
Patches
Plain Diff
Updated IndirectFitDataTest Re #28057
parent
4e85cb8e
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h
+182
-134
182 additions, 134 deletions
qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h
with
182 additions
and
134 deletions
qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h
+
182
−
134
View file @
488cb3c2
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#include
<cxxtest/TestSuite.h>
#include
<cxxtest/TestSuite.h>
#include
"IndirectFitData
Legacy
.h"
#include
"IndirectFitData.h"
#include
"MantidAPI/MatrixWorkspace.h"
#include
"MantidAPI/MatrixWorkspace.h"
#include
"MantidDataObjects/Workspace2D.h"
#include
"MantidDataObjects/Workspace2D.h"
#include
"MantidTestHelpers/IndirectFitDataCreationHelper.h"
#include
"MantidTestHelpers/IndirectFitDataCreationHelper.h"
...
@@ -18,16 +18,19 @@ using namespace Mantid::API;
...
@@ -18,16 +18,19 @@ using namespace Mantid::API;
using
namespace
Mantid
::
DataObjects
;
using
namespace
Mantid
::
DataObjects
;
using
namespace
MantidQt
::
CustomInterfaces
::
IDA
;
using
namespace
MantidQt
::
CustomInterfaces
::
IDA
;
using
namespace
Mantid
::
IndirectFitDataCreationHelper
;
using
namespace
Mantid
::
IndirectFitDataCreationHelper
;
using
namespace
MantidQt
::
CustomInterfaces
;
namespace
{
namespace
{
std
::
unique_ptr
<
IndirectFitData
Legacy
>
std
::
unique_ptr
<
IndirectFitData
>
getIndirectFitData
(
int
const
&
numberOfSpectra
)
{
getIndirectFitData
(
int
const
&
numberOfSpectra
)
{
auto
const
workspace
=
createWorkspace
(
numberOfSpectra
);
auto
const
workspace
=
createWorkspace
(
numberOfSpectra
);
SpectraLegacy
const
spec
=
Spectra
const
spec
=
std
::
make_pair
(
0u
,
workspace
->
getNumberHistograms
()
-
1
);
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
},
IndirectFitDataLegacy
data
(
workspace
,
spec
);
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
return
std
::
make_unique
<
IndirectFitDataLegacy
>
(
data
);
static_cast
<
int
>
(
workspace
->
getNumberHistograms
()
-
1
)});
IndirectFitData
data
(
workspace
,
spec
);
return
std
::
make_unique
<
IndirectFitData
>
(
data
);
}
}
}
// namespace
}
// namespace
...
@@ -44,11 +47,13 @@ public:
...
@@ -44,11 +47,13 @@ public:
void
test_data_is_instantiated
()
{
void
test_data_is_instantiated
()
{
auto
const
workspace
=
createWorkspace
(
1
);
auto
const
workspace
=
createWorkspace
(
1
);
SpectraLegacy
const
spec
=
Spectra
const
spec
=
std
::
make_pair
(
0u
,
workspace
->
getNumberHistograms
()
-
1
);
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
},
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
static_cast
<
int
>
(
workspace
->
getNumberHistograms
()
-
1
)});
workspace
->
setTitle
(
"Test Title"
);
workspace
->
setTitle
(
"Test Title"
);
IndirectFitData
Legacy
const
data
(
workspace
,
spec
);
IndirectFitData
const
data
(
workspace
,
spec
);
TS_ASSERT_EQUALS
(
data
.
workspace
(),
workspace
);
TS_ASSERT_EQUALS
(
data
.
workspace
(),
workspace
);
TS_ASSERT_EQUALS
(
data
.
workspace
()
->
getTitle
(),
"Test Title"
);
TS_ASSERT_EQUALS
(
data
.
workspace
()
->
getTitle
(),
"Test Title"
);
...
@@ -56,11 +61,10 @@ public:
...
@@ -56,11 +61,10 @@ public:
}
}
void
test_that_DiscontinuousSpectra_is_set_up_correctly
()
{
void
test_that_DiscontinuousSpectra_is_set_up_correctly
()
{
DiscontinuousSpectra
<
std
::
size_t
>
const
spectra
=
Spectra
const
spectra
=
Spectra
(
"0-5,8,10"
);
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-5,8,10"
);
std
::
string
const
spectraString
=
"0-5,8,10"
;
std
::
string
const
spectraString
=
"0-5,8,10"
;
std
::
vector
<
std
::
size_t
>
const
spectraVec
{
0
,
1
,
2
,
3
,
4
,
5
,
8
,
10
};
std
::
vector
<
IDA
::
WorkspaceIndex
>
const
spectraVec
{
0
,
1
,
2
,
3
,
4
,
5
,
8
,
10
};
TS_ASSERT_EQUALS
(
spectra
.
getString
(),
spectraString
);
TS_ASSERT_EQUALS
(
spectra
.
getString
(),
spectraString
);
for
(
auto
it
=
spectra
.
begin
();
it
<
spectra
.
end
();
++
it
)
for
(
auto
it
=
spectra
.
begin
();
it
<
spectra
.
end
();
++
it
)
...
@@ -72,11 +76,10 @@ public:
...
@@ -72,11 +76,10 @@ public:
auto
data
=
getIndirectFitData
(
11
);
auto
data
=
getIndirectFitData
(
11
);
std
::
string
const
inputString
=
"8,0-7,6,10"
;
std
::
string
const
inputString
=
"8,0-7,6,10"
;
Spectra
Legacy
const
spectra
=
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-8,10"
);
Spectra
const
spectra
=
Spectra
(
"0-8,10"
);
data
->
setSpectra
(
inputString
);
data
->
setSpectra
(
inputString
);
TS_ASSERT
(
TS_ASSERT_EQUALS
(
data
->
spectra
(),
spectra
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
data
->
spectra
(),
spectra
));
}
}
void
void
...
@@ -84,11 +87,10 @@ public:
...
@@ -84,11 +87,10 @@ public:
auto
data
=
getIndirectFitData
(
11
);
auto
data
=
getIndirectFitData
(
11
);
std
::
string
const
inputString
=
"1,2,4-3,10"
;
std
::
string
const
inputString
=
"1,2,4-3,10"
;
Spectra
Legacy
const
spectra
=
DiscontinuousSpectra
<
std
::
size_t
>
(
"1-4,10"
);
Spectra
const
spectra
=
Spectra
(
"1-4,10"
);
data
->
setSpectra
(
inputString
);
data
->
setSpectra
(
inputString
);
TS_ASSERT
(
TS_ASSERT_EQUALS
(
data
->
spectra
(),
spectra
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
data
->
spectra
(),
spectra
));
}
}
void
void
...
@@ -96,11 +98,10 @@ public:
...
@@ -96,11 +98,10 @@ public:
auto
data
=
getIndirectFitData
(
11
);
auto
data
=
getIndirectFitData
(
11
);
std
::
string
const
inputString
=
" 8,10, 7"
;
std
::
string
const
inputString
=
" 8,10, 7"
;
Spectra
Legacy
const
spectra
=
DiscontinuousSpectra
<
std
::
size_t
>
(
"7-8,10"
);
Spectra
const
spectra
=
Spectra
(
"7-8,10"
);
data
->
setSpectra
(
inputString
);
data
->
setSpectra
(
inputString
);
TS_ASSERT
(
TS_ASSERT_EQUALS
(
data
->
spectra
(),
spectra
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
data
->
spectra
(),
spectra
));
}
}
void
test_data_is_stored_in_the_ADS
()
{
void
test_data_is_stored_in_the_ADS
()
{
...
@@ -119,7 +120,7 @@ public:
...
@@ -119,7 +120,7 @@ public:
std
::
vector
<
std
::
string
>
const
formatStrings
{
std
::
vector
<
std
::
string
>
const
formatStrings
{
"%1%_s%2%_Result"
,
"%1%_f%2%,s%2%_Parameter"
,
"%1%_s%2%_Parameter"
};
"%1%_s%2%_Result"
,
"%1%_f%2%,s%2%_Parameter"
,
"%1%_s%2%_Parameter"
};
std
::
string
const
rangeDelimiter
=
"_to_"
;
std
::
string
const
rangeDelimiter
=
"_to_"
;
std
::
size_t
const
spectrum
=
1
;
IDA
::
WorkspaceIndex
const
spectrum
=
IDA
::
WorkspaceIndex
{
1
}
;
TS_ASSERT_EQUALS
(
data
->
displayName
(
formatStrings
[
0
],
rangeDelimiter
),
TS_ASSERT_EQUALS
(
data
->
displayName
(
formatStrings
[
0
],
rangeDelimiter
),
"_s0_Result"
);
"_s0_Result"
);
...
@@ -143,23 +144,26 @@ public:
...
@@ -143,23 +144,26 @@ public:
void
void
test_that_the_number_of_spectra_returned_matches_the_instantiated_value
()
{
test_that_the_number_of_spectra_returned_matches_the_instantiated_value
()
{
auto
const
data
=
getIndirectFitData
(
10
);
auto
const
data
=
getIndirectFitData
(
10
);
TS_ASSERT_EQUALS
(
data
->
numberOfSpectra
(),
10
);
TS_ASSERT_EQUALS
(
data
->
numberOfSpectra
(),
TableRowIndex
{
10
}
);
}
}
void
test_that_getSpectrum_returns_the_expected_spectrum_numbers
()
{
void
test_that_getSpectrum_returns_the_expected_spectrum_numbers
()
{
auto
const
data
=
getIndirectFitData
(
4
);
auto
const
data
=
getIndirectFitData
(
4
);
for
(
auto
i
=
0u
;
i
<
data
->
numberOfSpectra
();
++
i
)
{
for
(
auto
i
=
TableRowIndex
{
0
};
i
<
data
->
numberOfSpectra
();
++
i
)
{
std
::
size_t
const
spectrumNum
=
data
->
getSpectrum
(
i
);
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
const
spectrumNum
=
TS_ASSERT_EQUALS
(
spectrumNum
,
i
);
data
->
getSpectrum
(
i
);
TS_ASSERT_EQUALS
(
spectrumNum
.
value
,
i
.
value
);
}
}
}
}
void
void
test_that_true_is_returned_from_zeroSpectra_if_data_contains_empty_workspace
()
{
test_that_true_is_returned_from_zeroSpectra_if_data_contains_empty_workspace
()
{
auto
workspace
=
std
::
make_shared
<
Workspace2D
>
();
auto
workspace
=
std
::
make_shared
<
Workspace2D
>
();
SpectraLegacy
const
spec
=
std
::
make_pair
(
0u
,
0u
);
Spectra
const
spec
=
IndirectFitDataLegacy
const
data
(
workspace
,
spec
);
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
},
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
IndirectFitData
const
data
(
workspace
,
spec
);
TS_ASSERT_EQUALS
(
data
.
zeroSpectra
(),
true
);
TS_ASSERT_EQUALS
(
data
.
zeroSpectra
(),
true
);
}
}
...
@@ -167,8 +171,8 @@ public:
...
@@ -167,8 +171,8 @@ public:
void
void
test_that_true_is_returned_from_zeroSpectra_if_data_contains_empty_spectra
()
{
test_that_true_is_returned_from_zeroSpectra_if_data_contains_empty_spectra
()
{
auto
const
workspace
=
createWorkspace
(
1
);
auto
const
workspace
=
createWorkspace
(
1
);
DiscontinuousSpectra
<
std
::
size_t
>
const
spec
(
""
);
Spectra
const
spec
(
""
);
IndirectFitData
Legacy
const
data
(
workspace
,
spec
);
IndirectFitData
const
data
(
workspace
,
spec
);
TS_ASSERT_EQUALS
(
data
.
zeroSpectra
(),
true
);
TS_ASSERT_EQUALS
(
data
.
zeroSpectra
(),
true
);
}
}
...
@@ -187,15 +191,25 @@ public:
...
@@ -187,15 +191,25 @@ public:
/// string is in the correct order(unordered: 10,11 9,7 ordered:10,11,7,9)
/// string is in the correct order(unordered: 10,11 9,7 ordered:10,11,7,9)
auto
data
=
getIndirectFitData
(
4
);
auto
data
=
getIndirectFitData
(
4
);
data
->
setExcludeRegionString
(
"1,8"
,
0
);
data
->
setExcludeRegionString
(
data
->
setExcludeRegionString
(
"2,5"
,
1
);
"1,8"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
data
->
setExcludeRegionString
(
"1,2,5,6,3,4"
,
2
);
data
->
setExcludeRegionString
(
"2,5"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
});
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
0
),
"1.000,8.000"
);
data
->
setExcludeRegionString
(
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
1
),
"2.000,5.000"
);
"1,2,5,6,3,4"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
});
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
2
),
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
}),
"1.000,8.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
}),
"2.000,5.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
}),
"1.000,2.000,5.000,6.000,3.000,4.000"
);
"1.000,2.000,5.000,6.000,3.000,4.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
3
),
""
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
3
}),
""
);
}
}
void
void
...
@@ -204,48 +218,72 @@ public:
...
@@ -204,48 +218,72 @@ public:
/// string is in the correct order(unordered: 10,11 9,7 ordered:10,11,7,9)
/// string is in the correct order(unordered: 10,11 9,7 ordered:10,11,7,9)
auto
data
=
getIndirectFitData
(
4
);
auto
data
=
getIndirectFitData
(
4
);
data
->
setExcludeRegionString
(
"1,8"
,
0
);
data
->
setExcludeRegionString
(
data
->
setExcludeRegionString
(
"2,5"
,
1
);
"1,8"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
data
->
setExcludeRegionString
(
"2,5"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
});
std
::
vector
<
double
>
const
regionVector1
{
1.0
,
8.0
};
std
::
vector
<
double
>
const
regionVector1
{
1.0
,
8.0
};
std
::
vector
<
double
>
const
regionVector2
{
2.0
,
5.0
};
std
::
vector
<
double
>
const
regionVector2
{
2.0
,
5.0
};
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
0
),
regionVector1
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
IDA
::
WorkspaceIndex
{
0
}),
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
1
),
regionVector2
);
regionVector1
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
3
).
empty
(),
true
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
IDA
::
WorkspaceIndex
{
1
}),
regionVector2
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
IDA
::
WorkspaceIndex
{
3
}).
empty
(),
true
);
}
}
void
test_that_excludeRegion_pairs_are_stored_in_an_order_of_low_to_high
()
{
void
test_that_excludeRegion_pairs_are_stored_in_an_order_of_low_to_high
()
{
/// Example: unordered: 10,11 9,7 ordered: 10,11,7,9
/// Example: unordered: 10,11 9,7 ordered: 10,11,7,9
auto
data
=
getIndirectFitData
(
3
);
auto
data
=
getIndirectFitData
(
3
);
data
->
setExcludeRegionString
(
"6,2"
,
0
);
data
->
setExcludeRegionString
(
data
->
setExcludeRegionString
(
"6,2,1,2,3,4,7,6"
,
1
);
"6,2"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
data
->
setExcludeRegionString
(
"1,2,2,3,20,18,21,22,7,8"
,
2
);
data
->
setExcludeRegionString
(
"6,2,1,2,3,4,7,6"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
});
data
->
setExcludeRegionString
(
"1,2,2,3,20,18,21,22,7,8"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
});
std
::
vector
<
double
>
const
regionVector
{
2.0
,
6.0
};
std
::
vector
<
double
>
const
regionVector
{
2.0
,
6.0
};
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
0
),
"2.000,6.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
1
),
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
}),
"2.000,6.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
}),
"2.000,6.000,1.000,2.000,3.000,4.000,6.000,7.000"
);
"2.000,6.000,1.000,2.000,3.000,4.000,6.000,7.000"
);
TS_ASSERT_EQUALS
(
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
2
),
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
}),
"1.000,2.000,2.000,3.000,18.000,20.000,21.000,22.000,7.000,8.000"
);
"1.000,2.000,2.000,3.000,18.000,20.000,21.000,22.000,7.000,8.000"
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
0
),
regionVector
);
TS_ASSERT_EQUALS
(
data
->
excludeRegionsVector
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
}),
regionVector
);
}
}
void
void
test_that_excludeRegion_is_stored_without_spaces_when_there_are_many_spaces_in_input_string
()
{
test_that_excludeRegion_is_stored_without_spaces_when_there_are_many_spaces_in_input_string
()
{
auto
data
=
getIndirectFitData
(
3
);
auto
data
=
getIndirectFitData
(
3
);
data
->
setExcludeRegionString
(
" 6, 2"
,
0
);
data
->
setExcludeRegionString
(
data
->
setExcludeRegionString
(
"6, 2,1 ,2, 3,4 ,7,6"
,
1
);
" 6, 2"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
data
->
setExcludeRegionString
(
"1,2 ,2,3, 20, 18,21,22,7, 8 "
,
2
);
data
->
setExcludeRegionString
(
"6, 2,1 ,2, 3,4 ,7,6"
,
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
0
),
"2.000,6.000"
);
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
});
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
1
),
data
->
setExcludeRegionString
(
"1,2 ,2,3, 20, 18,21,22,7, 8 "
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
});
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
}),
"2.000,6.000"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
}),
"2.000,6.000,1.000,2.000,3.000,4.000,6.000,7.000"
);
"2.000,6.000,1.000,2.000,3.000,4.000,6.000,7.000"
);
TS_ASSERT_EQUALS
(
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
2
),
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
2
}),
"1.000,2.000,2.000,3.000,18.000,20.000,21.000,22.000,7.000,8.000"
);
"1.000,2.000,2.000,3.000,18.000,20.000,21.000,22.000,7.000,8.000"
);
}
}
...
@@ -253,21 +291,32 @@ public:
...
@@ -253,21 +291,32 @@ public:
test_that_setExcludeRegion_rounds_the_numbers_in_the_input_string_to_the_appropriate_decimal_place
()
{
test_that_setExcludeRegion_rounds_the_numbers_in_the_input_string_to_the_appropriate_decimal_place
()
{
auto
data
=
getIndirectFitData
(
2
);
auto
data
=
getIndirectFitData
(
2
);
data
->
setExcludeRegionString
(
"6.29445,2.93343"
,
0
);
data
->
setExcludeRegionString
(
data
->
setExcludeRegionString
(
"2.6,2.3,1.9999,3.0125"
,
1
);
"6.29445,2.93343"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
});
data
->
setExcludeRegionString
(
"2.6,2.3,1.9999,3.0125"
,
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
});
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
0
),
"2.933,6.294"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
1
),
"2.300,2.600,2.000,3.013"
);
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
}),
"2.933,6.294"
);
TS_ASSERT_EQUALS
(
data
->
getExcludeRegion
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1
}),
"2.300,2.600,2.000,3.013"
);
}
}
void
test_throws_when_setSpectra_is_provided_an_out_of_range_spectra
()
{
void
test_throws_when_setSpectra_is_provided_an_out_of_range_spectra
()
{
auto
data
=
getIndirectFitData
(
10
);
auto
data
=
getIndirectFitData
(
10
);
std
::
vector
<
SpectraLegacy
>
const
spectraPairs
{
std
::
vector
<
Spectra
>
const
spectraPairs
{
std
::
make_pair
(
0u
,
11u
),
std
::
make_pair
(
0u
,
1000000000000000000u
),
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
},
std
::
make_pair
(
10u
,
10u
)};
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
11
}),
std
::
vector
<
std
::
string
>
const
spectraStrings
{
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
0
},
"10"
,
"100000000000000000000000000000"
,
"1,5,10"
,
"1,2,3,4,5,6,22"
};
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
1000000000
}),
Spectra
(
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
10
},
MantidQt
::
CustomInterfaces
::
IDA
::
WorkspaceIndex
{
10
})};
std
::
vector
<
std
::
string
>
const
spectraStrings
{
"10"
,
"1000000000"
,
"1,5,10"
,
"1,2,3,4,5,6,22"
};
for
(
auto
i
=
0u
;
i
<
spectraPairs
.
size
();
++
i
)
for
(
auto
i
=
0u
;
i
<
spectraPairs
.
size
();
++
i
)
TS_ASSERT_THROWS
(
data
->
setSpectra
(
spectraPairs
[
i
]),
TS_ASSERT_THROWS
(
data
->
setSpectra
(
spectraPairs
[
i
]),
...
@@ -280,8 +329,10 @@ public:
...
@@ -280,8 +329,10 @@ public:
void
test_no_throw_when_setSpectra_is_provided_a_valid_spectra
()
{
void
test_no_throw_when_setSpectra_is_provided_a_valid_spectra
()
{
auto
data
=
getIndirectFitData
(
10
);
auto
data
=
getIndirectFitData
(
10
);
std
::
vector
<
SpectraLegacy
>
const
spectraPairs
{
std
::
vector
<
Spectra
>
const
spectraPairs
{
std
::
make_pair
(
0u
,
9u
),
std
::
make_pair
(
4u
,
4u
),
std
::
make_pair
(
7u
,
4u
)};
Spectra
(
IDA
::
WorkspaceIndex
{
0
},
IDA
::
WorkspaceIndex
{
9
}),
Spectra
(
IDA
::
WorkspaceIndex
{
4
},
IDA
::
WorkspaceIndex
{
4
}),
Spectra
(
IDA
::
WorkspaceIndex
{
7
},
IDA
::
WorkspaceIndex
{
4
})};
std
::
vector
<
std
::
string
>
const
spectraStrings
{
"0"
,
"9"
,
"0,9,6,4,5"
,
std
::
vector
<
std
::
string
>
const
spectraStrings
{
"0"
,
"9"
,
"0,9,6,4,5"
,
"1,2,3,4,5,6"
};
"1,2,3,4,5,6"
};
...
@@ -295,42 +346,44 @@ public:
...
@@ -295,42 +346,44 @@ public:
test_no_throw_when_setStartX_is_provided_a_valid_xValue_and_spectrum_number
()
{
test_no_throw_when_setStartX_is_provided_a_valid_xValue_and_spectrum_number
()
{
auto
data
=
getIndirectFitData
(
10
);
auto
data
=
getIndirectFitData
(
10
);
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
0.0
,
0
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
0.0
,
IDA
::
WorkspaceIndex
{
0
}
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
-
5.0
,
0
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
-
5.0
,
IDA
::
WorkspaceIndex
{
0
}
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
5000000
,
10
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
5000000
,
IDA
::
WorkspaceIndex
{
10
}
));
}
}
void
test_the_provided_startX_is_stored_in_range_after_using_setStartX
()
{
void
test_the_provided_startX_is_stored_in_range_after_using_setStartX
()
{
auto
data
=
getIndirectFitData
(
3
);
auto
data
=
getIndirectFitData
(
3
);
data
->
setStartX
(
-
5.0
,
0
);
data
->
setStartX
(
-
5.0
,
IDA
::
WorkspaceIndex
{
0
}
);
data
->
setStartX
(
6.53
,
1
);
data
->
setStartX
(
6.53
,
IDA
::
WorkspaceIndex
{
1
}
);
data
->
setStartX
(
100000000000000.0
,
2
);
data
->
setStartX
(
100000000000000.0
,
IDA
::
WorkspaceIndex
{
2
}
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
0
).
first
,
-
5.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
0
}).
first
,
-
5.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
1
).
first
,
6.53
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
1
}).
first
,
6.53
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
2
).
first
,
100000000000000.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
2
}).
first
,
100000000000000.0
);
}
}
void
void
test_no_throw_when_setEndX_is_provided_a_valid_xValue_and_spectrum_number
()
{
test_no_throw_when_setEndX_is_provided_a_valid_xValue_and_spectrum_number
()
{
auto
data
=
getIndirectFitData
(
10
);
auto
data
=
getIndirectFitData
(
10
);
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
0.0
,
0
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
0.0
,
IDA
::
WorkspaceIndex
{
0
}
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
-
5.0
,
0
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
-
5.0
,
IDA
::
WorkspaceIndex
{
0
}
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
5000000
,
10
));
TS_ASSERT_THROWS_NOTHING
(
data
->
setStartX
(
5000000
,
IDA
::
WorkspaceIndex
{
10
}
));
}
}
void
test_the_provided_endX_is_stored_in_range_after_using_setEndX
()
{
void
test_the_provided_endX_is_stored_in_range_after_using_setEndX
()
{
auto
data
=
getIndirectFitData
(
3
);
auto
data
=
getIndirectFitData
(
3
);
data
->
setEndX
(
-
5.0
,
0
);
data
->
setEndX
(
-
5.0
,
IDA
::
WorkspaceIndex
{
0
}
);
data
->
setEndX
(
6.53
,
1
);
data
->
setEndX
(
6.53
,
IDA
::
WorkspaceIndex
{
1
}
);
data
->
setEndX
(
100000000000000.0
,
2
);
data
->
setEndX
(
100000000000000.0
,
IDA
::
WorkspaceIndex
{
2
}
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
0
).
second
,
-
5.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
0
}).
second
,
-
5.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
1
).
second
,
6.53
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
1
}).
second
,
6.53
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
2
).
second
,
100000000000000.0
);
TS_ASSERT_EQUALS
(
data
->
getRange
(
IDA
::
WorkspaceIndex
{
2
}).
second
,
100000000000000.0
);
}
}
void
void
...
@@ -338,12 +391,12 @@ public:
...
@@ -338,12 +391,12 @@ public:
auto
data1
=
getIndirectFitData
(
2
);
auto
data1
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
data1
->
setStartX
(
6.53
,
0
);
data1
->
setStartX
(
6.53
,
IDA
::
WorkspaceIndex
{
0
}
);
data2
->
setStartX
(
5.0
,
1
);
data2
->
setStartX
(
5.0
,
IDA
::
WorkspaceIndex
{
1
}
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
0
).
first
,
6.53
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
IDA
::
WorkspaceIndex
{
0
}
).
first
,
6.53
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
1
).
first
,
5.0
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
IDA
::
WorkspaceIndex
{
1
}
).
first
,
5.0
);
}
}
void
void
...
@@ -351,12 +404,13 @@ public:
...
@@ -351,12 +404,13 @@ public:
auto
data1
=
getIndirectFitData
(
2
);
auto
data1
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
data1
->
setEndX
(
2.34
,
0
);
data1
->
setEndX
(
2.34
,
IDA
::
WorkspaceIndex
{
0
}
);
data2
->
setEndX
(
5.9
,
1
);
data2
->
setEndX
(
5.9
,
IDA
::
WorkspaceIndex
{
1
}
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
0
).
second
,
2.34
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
IDA
::
WorkspaceIndex
{
0
}).
second
,
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
1
).
second
,
5.9
);
2.34
);
TS_ASSERT_EQUALS
(
combinedData
.
getRange
(
IDA
::
WorkspaceIndex
{
1
}).
second
,
5.9
);
}
}
void
void
...
@@ -364,13 +418,14 @@ public:
...
@@ -364,13 +418,14 @@ public:
auto
data1
=
getIndirectFitData
(
2
);
auto
data1
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
auto
data2
=
getIndirectFitData
(
2
);
data1
->
setExcludeRegionString
(
"1,2,6,5"
,
0
);
data1
->
setExcludeRegionString
(
"1,2,6,5"
,
IDA
::
WorkspaceIndex
{
0
}
);
data1
->
setExcludeRegionString
(
"6,2"
,
1
);
data1
->
setExcludeRegionString
(
"6,2"
,
IDA
::
WorkspaceIndex
{
1
}
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
TS_ASSERT_EQUALS
(
combinedData
.
getExcludeRegion
(
0
),
TS_ASSERT_EQUALS
(
combinedData
.
getExcludeRegion
(
IDA
::
WorkspaceIndex
{
0
}),
"1.000,2.000,5.000,6.000"
);
std
::
string
(
"1.000,2.000,5.000,6.000"
));
TS_ASSERT_EQUALS
(
combinedData
.
getExcludeRegion
(
1
),
"2.000,6.000"
);
TS_ASSERT_EQUALS
(
combinedData
.
getExcludeRegion
(
IDA
::
WorkspaceIndex
{
1
}),
std
::
string
(
"2.000,6.000"
));
}
}
void
void
...
@@ -378,13 +433,12 @@ public:
...
@@ -378,13 +433,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
std
::
make_pair
(
0u
,
4u
));
data1
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
0
},
IDA
::
WorkspaceIndex
{
4
}
));
data2
->
setSpectra
(
std
::
make_pair
(
5u
,
9u
));
data2
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
5
},
IDA
::
WorkspaceIndex
{
9
}
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
std
::
make_pair
(
0u
,
9u
));
Spectra
const
spec
(
Spectra
(
IDA
::
WorkspaceIndex
{
0
},
IDA
::
WorkspaceIndex
{
9
}
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -392,13 +446,12 @@ public:
...
@@ -392,13 +446,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
std
::
make_pair
(
0u
,
4u
));
data1
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
0
},
IDA
::
WorkspaceIndex
{
4
}
));
data2
->
setSpectra
(
std
::
make_pair
(
8u
,
9u
));
data2
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
8
},
IDA
::
WorkspaceIndex
{
9
}
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-4,8-9"
));
Spectra
const
spec
(
Spectra
(
"0-4,8-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -406,13 +459,12 @@ public:
...
@@ -406,13 +459,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
std
::
make_pair
(
0u
,
8u
));
data1
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
0
},
IDA
::
WorkspaceIndex
{
8
}
));
data2
->
setSpectra
(
std
::
make_pair
(
4u
,
9u
));
data2
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
4
},
IDA
::
WorkspaceIndex
{
9
}
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-9"
));
Spectra
const
spec
(
Spectra
(
"0-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -420,13 +472,12 @@ public:
...
@@ -420,13 +472,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-4"
));
data1
->
setSpectra
(
Spectra
(
"0-4"
));
data2
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"5-9"
));
data2
->
setSpectra
(
Spectra
(
"5-9"
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-9"
));
Spectra
const
spec
(
Spectra
(
"0-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -434,13 +485,12 @@ public:
...
@@ -434,13 +485,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-7"
));
data1
->
setSpectra
(
Spectra
(
"0-7"
));
data2
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"2-9"
));
data2
->
setSpectra
(
Spectra
(
"2-9"
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-9"
));
Spectra
const
spec
(
Spectra
(
"0-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -448,13 +498,12 @@ public:
...
@@ -448,13 +498,12 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-4"
));
data1
->
setSpectra
(
Spectra
(
"0-4"
));
data2
->
setSpectra
(
std
::
make_pair
(
5u
,
9u
));
data2
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
5
},
IDA
::
WorkspaceIndex
{
9
}
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-9"
));
Spectra
const
spec
(
Spectra
(
"0-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
void
void
...
@@ -462,12 +511,11 @@ public:
...
@@ -462,12 +511,11 @@ public:
auto
data1
=
getIndirectFitData
(
10
);
auto
data1
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
auto
data2
=
getIndirectFitData
(
10
);
data1
->
setSpectra
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-7"
));
data1
->
setSpectra
(
Spectra
(
"0-7"
));
data2
->
setSpectra
(
std
::
make_pair
(
4u
,
9u
));
data2
->
setSpectra
(
Spectra
(
IDA
::
WorkspaceIndex
{
4
},
IDA
::
WorkspaceIndex
{
9
}
));
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
auto
const
combinedData
=
data2
->
combine
(
*
data1
);
Spectra
Legacy
const
spec
(
DiscontinuousSpectra
<
std
::
size_t
>
(
"0-9"
));
Spectra
const
spec
(
Spectra
(
"0-9"
));
TS_ASSERT
(
TS_ASSERT_EQUALS
(
combinedData
.
spectra
(),
spec
);
boost
::
apply_visitor
(
AreSpectraEqual
(),
combinedData
.
spectra
(),
spec
));
}
}
};
};
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment