public void ParseTest() { var p = new ParticleDeviceMock(new JObject()); var message = Assert.Throws<ArgumentNullException>(() => { p.ParseObjectMock(null); }); Assert.AreEqual("obj", message.ParamName); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); obj = JObject.Parse(@"{'id': '356a', 'name': 'Work', 'last_app': 'cheese', 'last_ip_address': '192.168.0.1', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 0, 'connected': true, 'cellular': false, 'status': 'normal', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'functions':[ 'led', 'led2' ]}"); p.ParseObjectMock(obj); Assert.AreEqual("356a", p.Id); Assert.AreEqual("Work", p.Name); Assert.AreEqual("cheese", p.LastApp); Assert.AreEqual("192.168.0.1", p.LastIPAddress); Assert.AreEqual(JToken.Parse("'2015-05-25T01:15:36.034Z'").Value<DateTime>().ToLocalTime(), p.LastHeard); Assert.AreEqual(ParticleDeviceType.Core, p.DeviceType); Assert.IsTrue(p.Connected); Assert.IsNull(p.PlatformId); Assert.IsFalse(p.Cellular); Assert.AreEqual("normal", p.Status); Assert.IsNull(p.LastICCID); Assert.IsNull(p.IMEI); Assert.IsNull(p.CurrentBuildTarget); Assert.AreEqual(3, p.Variables.Count); var variable = p.Variables[0]; Assert.AreEqual("temp", variable.Name); Assert.AreEqual(VariableType.Double, variable.Type); variable = p.Variables[1]; Assert.AreEqual("temp2", variable.Name); Assert.AreEqual(VariableType.Int, variable.Type); variable = p.Variables[2]; Assert.AreEqual("temp3", variable.Name); Assert.AreEqual(VariableType.String, variable.Type); var functions = p.Functions; Assert.AreEqual(2, functions.Count); Assert.AreEqual("led", functions[0]); Assert.AreEqual("led2", functions[1]); }
public void ParseExceptionTest() { var p = new ParticleDeviceMock(new JObject()); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); var json = @"{'id': '356a', 'name': 'Work', 'last_app': 'cheese', 'last_ip_address': '192.168.0.1', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 0, 'connected': true, 'cellular': false, 'status': 'normal', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'NETExceptionTest': 0, 'functions':[ 'led', 'led2' ]}" ; obj = JObject.Parse(json); var ex = Assert.Throws <ParticleParseException>(() => p.ParseObjectMock(obj)); Assert.AreEqual("Error parsing.", ex.Message); Assert.IsFalse(String.IsNullOrWhiteSpace(ex.SourceJson)); Assert.IsNotNull(ex.InnerException); Assert.IsInstanceOf <JsonException>(ex.InnerException); }
public void ParseExceptionTest() { var p = new ParticleDeviceMock(new JObject()); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); var json = @"{'id': '356a', 'name': 'Work', 'last_app': 'cheese', 'last_ip_address': '192.168.0.1', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 0, 'connected': true, 'cellular': false, 'status': 'normal', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'NETExceptionTest': 0, 'functions':[ 'led', 'led2' ]}"; obj = JObject.Parse(json); var ex = Assert.Throws<ParticleParseException>(() => p.ParseObjectMock(obj)); Assert.AreEqual("Error parsing.", ex.Message); Assert.IsFalse(String.IsNullOrWhiteSpace(ex.SourceJson)); Assert.IsNotNull(ex.InnerException); Assert.IsInstanceOf<JsonException>(ex.InnerException); }
public void ParseElectronTest() { var p = new ParticleDeviceMock(new JObject()); var message = Assert.Throws<ArgumentNullException>(() => { p.ParseObjectMock(null); }); Assert.AreEqual("obj", message.ParamName); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); obj = JObject.Parse(@"{'id': '356a6', 'name': 'CobbleFriend', 'last_app': 'cheese', 'last_ip_address': '161.20.133.22:45478', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 10, 'connected': true, 'platform_id': 10, 'cellular': true, 'status': 'normal', 'last_iccid': '1000023400005678900', 'imei': '312345678933111', 'current_build_target': '0.4.8', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'functions':[ 'led', 'led2' ]}"); p.ParseObjectMock(obj); Assert.AreEqual("356a6", p.Id); Assert.AreEqual("CobbleFriend", p.Name); Assert.AreEqual("cheese", p.LastApp); Assert.AreEqual("161.20.133.22:45478", p.LastIPAddress); Assert.AreEqual(JToken.Parse("'2015-05-25T01:15:36.034Z'").Value<DateTime>().ToLocalTime(), p.LastHeard); Assert.AreEqual(ParticleDeviceType.Electron, p.DeviceType); Assert.AreEqual(10, p.PlatformId); Assert.IsTrue(p.Connected); Assert.IsTrue(p.Cellular); Assert.AreEqual("normal", p.Status); Assert.AreEqual("1000023400005678900", p.LastICCID); Assert.AreEqual("312345678933111", p.IMEI); Assert.AreEqual("0.4.8", p.CurrentBuildTarget); Assert.AreEqual(3, p.Variables.Count); var variable = p.Variables[0]; Assert.AreEqual("temp", variable.Name); Assert.AreEqual(VariableType.Double, variable.Type); variable = p.Variables[1]; Assert.AreEqual("temp2", variable.Name); Assert.AreEqual(VariableType.Int, variable.Type); variable = p.Variables[2]; Assert.AreEqual("temp3", variable.Name); Assert.AreEqual(VariableType.String, variable.Type); var functions = p.Functions; Assert.AreEqual(2, functions.Count); Assert.AreEqual("led", functions[0]); Assert.AreEqual("led2", functions[1]); }
public void ParseTest() { var p = new ParticleDeviceMock(new JObject()); var message = Assert.Throws <ArgumentNullException>(() => { p.ParseObjectMock(null); }); Assert.AreEqual("obj", message.ParamName); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); obj = JObject.Parse(@"{'id': '356a', 'name': 'Work', 'last_app': 'cheese', 'last_ip_address': '192.168.0.1', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 0, 'connected': true, 'cellular': false, 'status': 'normal', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'functions':[ 'led', 'led2' ]}" ); p.ParseObjectMock(obj); Assert.AreEqual("356a", p.Id); Assert.AreEqual("Work", p.Name); Assert.AreEqual("cheese", p.LastApp); Assert.AreEqual("192.168.0.1", p.LastIPAddress); Assert.AreEqual(JToken.Parse("'2015-05-25T01:15:36.034Z'").Value <DateTime>().ToLocalTime(), p.LastHeard); Assert.AreEqual(ParticleDeviceType.Core, p.DeviceType); Assert.IsTrue(p.Connected); Assert.IsNull(p.PlatformId); Assert.IsFalse(p.Cellular); Assert.AreEqual("normal", p.Status); Assert.IsNull(p.LastICCID); Assert.IsNull(p.IMEI); Assert.IsNull(p.CurrentBuildTarget); Assert.AreEqual(3, p.Variables.Count); var variable = p.Variables[0]; Assert.AreEqual("temp", variable.Name); Assert.AreEqual(VariableType.Double, variable.Type); variable = p.Variables[1]; Assert.AreEqual("temp2", variable.Name); Assert.AreEqual(VariableType.Int, variable.Type); variable = p.Variables[2]; Assert.AreEqual("temp3", variable.Name); Assert.AreEqual(VariableType.String, variable.Type); var functions = p.Functions; Assert.AreEqual(2, functions.Count); Assert.AreEqual("led", functions[0]); Assert.AreEqual("led2", functions[1]); }
public void ParseElectronTest() { var p = new ParticleDeviceMock(new JObject()); var message = Assert.Throws <ArgumentNullException>(() => { p.ParseObjectMock(null); }); Assert.AreEqual("obj", message.ParamName); var obj = JObject.Parse(@"{'id':'3a', 'name':null}"); p.ParseObjectMock(obj); Assert.AreEqual("3a", p.Id); Assert.AreEqual(null, p.Name); obj = JObject.Parse(@"{'id': '356a6', 'name': 'CobbleFriend', 'last_app': 'cheese', 'last_ip_address': '161.20.133.22:45478', 'last_heard': '2015-05-25T01:15:36.034Z', 'product_id': 10, 'connected': true, 'platform_id': 10, 'cellular': true, 'status': 'normal', 'last_iccid': '1000023400005678900', 'imei': '312345678933111', 'current_build_target': '0.4.8', 'variables':{ temp: 'double', temp2: 'int', temp3: 'string' }, 'functions':[ 'led', 'led2' ]}" ); p.ParseObjectMock(obj); Assert.AreEqual("356a6", p.Id); Assert.AreEqual("CobbleFriend", p.Name); Assert.AreEqual("cheese", p.LastApp); Assert.AreEqual("161.20.133.22:45478", p.LastIPAddress); Assert.AreEqual(JToken.Parse("'2015-05-25T01:15:36.034Z'").Value <DateTime>().ToLocalTime(), p.LastHeard); Assert.AreEqual(ParticleDeviceType.Electron, p.DeviceType); Assert.AreEqual(10, p.PlatformId); Assert.IsTrue(p.Connected); Assert.IsTrue(p.Cellular); Assert.AreEqual("normal", p.Status); Assert.AreEqual("1000023400005678900", p.LastICCID); Assert.AreEqual("312345678933111", p.IMEI); Assert.AreEqual("0.4.8", p.CurrentBuildTarget); Assert.AreEqual(3, p.Variables.Count); var variable = p.Variables[0]; Assert.AreEqual("temp", variable.Name); Assert.AreEqual(VariableType.Double, variable.Type); variable = p.Variables[1]; Assert.AreEqual("temp2", variable.Name); Assert.AreEqual(VariableType.Int, variable.Type); variable = p.Variables[2]; Assert.AreEqual("temp3", variable.Name); Assert.AreEqual(VariableType.String, variable.Type); var functions = p.Functions; Assert.AreEqual(2, functions.Count); Assert.AreEqual("led", functions[0]); Assert.AreEqual("led2", functions[1]); }