示例#1
0
        public void SubSystem_From_Json_File_Initialises_Properly()
        {
            // arrange
            string path = EmbeddedResourceUtil.ExportToPath("Castle.Windsor.Extensions.Test.data", "castle.json", Path.GetTempPath());

            PropertiesSubSystem subsystem = new PropertiesSubSystem(path);
            WindsorContainer    container = new WindsorContainer();

            // act
            subsystem.Init((IKernelInternal)container.Kernel);

            // assert
            Assert.AreEqual("mihir", subsystem.Resolver.GetValue("name"));
            CollectionAssert.AreEqual(new[] { "chess", "cricket" }, subsystem.Resolver.GetValue <string[]>("hobbies"));

            IDictionary <string, string> extrasStuffMixed = subsystem.Resolver.GetValue <Dictionary <string, string> >("extraStuffMixed");

            Assert.AreEqual("31", extrasStuffMixed["age"]);
            Assert.AreEqual("male", extrasStuffMixed["sex"]);

            IDictionary <string, double> extrasStuffFloats = subsystem.Resolver.GetValue <Dictionary <string, double> >("extraStuffFloats");

            Assert.AreEqual(4.0, extrasStuffFloats["precision"]);
            Assert.AreEqual(2.56, extrasStuffFloats["start"]);
        }