From ea8bf89ef99eed0efa4a2ff72880aca5df0763be Mon Sep 17 00:00:00 2001 From: Matti Kortelainen Date: Thu, 15 Aug 2019 16:46:12 +0200 Subject: [PATCH] Add tests for the type ambiguity case in allowed --- FWCore/ParameterSet/python/Types.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/FWCore/ParameterSet/python/Types.py b/FWCore/ParameterSet/python/Types.py index 986cdbc75e2c6..a9eb80a415a51 100644 --- a/FWCore/ParameterSet/python/Types.py +++ b/FWCore/ParameterSet/python/Types.py @@ -1690,6 +1690,30 @@ def testAllowed(self): p2.aValue = PSet(i = int32(3)) self.assertEqual(p2.aValue.i.value(),3) + p3 = PSet(aValue=required.allowed(int32,uint32)) + p3.aValue = -42 + self.assertEqual(p3.aValue.value(), -42) + p3 = PSet(aValue=required.allowed(int32,uint32)) + self.assertRaises(RuntimeError, lambda: setattr(p3, "aValue", 42)) + + p3 = PSet(aValue=required.untracked.allowed(int32,uint32)) + p3.aValue = -42 + self.assertEqual(p3.aValue.value(), -42) + p3 = PSet(aValue=required.untracked.allowed(int32,uint32)) + self.assertRaises(RuntimeError, lambda: setattr(p3, "aValue", 42)) + + p3 = PSet(aValue=optional.allowed(int32,uint32)) + p3.aValue = -42 + self.assertEqual(p3.aValue.value(), -42) + p3 = PSet(aValue=optional.allowed(int32,uint32)) + self.assertRaises(RuntimeError, lambda: setattr(p3, "aValue", 42)) + + p3 = PSet(aValue=optional.untracked.allowed(int32,uint32)) + p3.aValue = -42 + self.assertEqual(p3.aValue.value(), -42) + p3 = PSet(aValue=optional.untracked.allowed(int32,uint32)) + self.assertRaises(RuntimeError, lambda: setattr(p3, "aValue", 42)) + def testVPSet(self): p1 = VPSet(PSet(anInt = int32(1)), PSet(anInt=int32(2))) self.assertEqual(len(p1),2)