Ejemplo n.º 1
0
    def test_iter(self):

        d = {
            "device": "/dev/ttyS0",
            "ccd": ["imaging", "tracking"],
            "exp_time": (0.1, 6000.0),
            "shutter": ["open", "close", "leave"],
            "readout_aborted": True,
            "readout_mode": 1,
            "date_format": "%d%m%y",
            "file_format": "$num-$observer-$date-%objname",
            "directory": "/home/someuser/images",
            "save_on_temp": False,
            "seq_num": 1,
            "observer": "observer name",
            "obj_name": "object name",
            "some_none_var": None
        }

        c = Config(d)

        # len
        assert len(c) == len(d)

        # contains
        assert "device" in c
        assert "stuff" not in c

        # iter protocol
        assert list(c.keys()) == list(c.keys())
        assert list(c.values()) == list(c.values())
        assert list(c.items()) == list(c.items())

        # config using +=
        dd = {"new": 10}
        assert_raises(KeyError, c.__iadd__, dd)

        assert not "new" in c

        c += {"device": "foo"}
        assert c["device"] == "foo"
        assert isinstance(
            c,
            Config)  # __iadd__ protocol, return self to allow daisy chaining
Ejemplo n.º 2
0
    def test_iter (self):

        d = {"device"       : "/dev/ttyS0",
             "ccd"          : ["imaging", "tracking"],
             "exp_time"     : (0.1, 6000.0),
             "shutter"      : ["open", "close", "leave"],
             "readout_aborted": True,
             "readout_mode" : 1,
             "date_format"  : "%d%m%y",
             "file_format"  : "$num-$observer-$date-%objname",
             "directory"    : "/home/someuser/images",
             "save_on_temp" : False,
             "seq_num"      : 1,
             "observer"     : "observer name",
             "obj_name"     : "object name",
             "some_none_var": None}

        c = Config(d)


        # len
        assert len(c) == len(d)

        # contains
        assert "device" in c
        assert "stuff" not in c

        # iter protocol
        assert c.keys() == c.keys()
        assert c.values() == c.values()
        assert c.items() == c.items()

        # config using +=
        dd = {"new": 10}
        assert_raises(KeyError, c.__iadd__, dd)

        assert not "new" in c

        c += {"device":"foo"}
        assert c["device"] == "foo"
        assert isinstance (c, Config) # __iadd__ protocol, return self to allow daisy chaining