public void TestInitFull()
        {
            DesktopContext context = new DesktopContext()
                                     .SetOsType("OS-X")
                                     .SetOsVersion("10.10.5")
                                     .SetOsServicePack("Yosemite")
                                     .SetOsIs64Bit(true)
                                     .SetDeviceManufacturer("Apple")
                                     .SetDeviceModel("Macbook Pro")
                                     .SetDeviceProcessorCount(4)
                                     .Build();

            Assert.NotNull(context);

            Dictionary <string, object> dict = context.GetData();

            Assert.AreEqual(7, dict.Count);
            Assert.AreEqual("OS-X", dict [Constants.PLAT_OS_TYPE]);
            Assert.AreEqual("10.10.5", dict [Constants.PLAT_OS_VERSION]);
            Assert.AreEqual("Yosemite", dict [Constants.DESKTOP_SERVICE_PACK]);
            Assert.AreEqual(true, dict [Constants.DESKTOP_IS_64_BIT]);
            Assert.AreEqual("Apple", dict [Constants.PLAT_DEVICE_MANU]);
            Assert.AreEqual("Macbook Pro", dict [Constants.PLAT_DEVICE_MODEL]);
            Assert.AreEqual(4, dict [Constants.DESKTOP_PROC_COUNT]);

            Assert.AreEqual("iglu:com.snowplowanalytics.snowplow/desktop_context/jsonschema/1-0-0", context.GetSchema());
            Assert.AreEqual("{\"data\":{\"osVersion\":\"10.10.5\", \"osServicePack\":\"Yosemite\", \"deviceManufacturer\":\"Apple\", \"deviceProcessorCount\":4, \"osIs64Bit\":true, \"deviceModel\":\"Macbook Pro\", \"osType\":\"OS-X\"}, \"schema\":\"iglu:com.snowplowanalytics.snowplow/desktop_context/jsonschema/1-0-0\"}", context.GetJson().ToString());
        }
        public void TestInitMinimal()
        {
            DesktopContext context = new DesktopContext().SetOsType("OS-X").SetOsVersion("10.10.5").Build();

            Assert.NotNull(context);

            Dictionary <string, object> dict = context.GetData();

            Assert.AreEqual(2, dict.Count);
            Assert.AreEqual("OS-X", dict [Constants.PLAT_OS_TYPE]);
            Assert.AreEqual("10.10.5", dict [Constants.PLAT_OS_VERSION]);

            Assert.AreEqual("iglu:com.snowplowanalytics.snowplow/desktop_context/jsonschema/1-0-0", context.GetSchema());
            Assert.AreEqual("{\"data\":{\"osVersion\":\"10.10.5\", \"osType\":\"OS-X\"}, \"schema\":\"iglu:com.snowplowanalytics.snowplow/desktop_context/jsonschema/1-0-0\"}", context.GetJson().ToString());
        }