public void TestLongConstructor() { var jasmineId = new JasmineId(74547317860381854); Assert.Equal(0, jasmineId.Reserved); Assert.Equal(8678450, jasmineId.Timestamp); Assert.Equal(0, jasmineId.Region); Assert.Equal(0, jasmineId.Machine); Assert.Equal(439454, jasmineId.Sequence); Assert.Equal(JasmineId.JasmineIdTimer.JasmineIdEpoch.AddSeconds(8678450), jasmineId.CreationTime); Assert.Equal("74547317860381854", jasmineId.ToString()); }
public void TestParse() { var jasmineId1 = JasmineId.Parse("74547317860381854"); Assert.True(jasmineId1.ToLong().Equals(74547317860381854)); Assert.True(jasmineId1.ToString() == "74547317860381854"); var jasmineId2 = JasmineId.Parse("-9148838245189002336"); Assert.True(jasmineId2.ToLong().Equals(-9148838245189002336)); Assert.True(jasmineId2.ToString() == "-9148838245189002336"); }
public void TestFullSizeCustomizedArgumentsConstructor() { var jasmineId = new JasmineId(1, 8676875, 5, 256, 23456); Assert.Equal(1, jasmineId.Reserved); Assert.Equal(8676875, jasmineId.Timestamp); Assert.Equal(5, jasmineId.Region); Assert.Equal(256, jasmineId.Machine); Assert.Equal(23456, jasmineId.Sequence); Assert.Equal(JasmineId.JasmineIdTimer.JasmineIdEpoch.AddSeconds(8676875), jasmineId.CreationTime); Assert.Equal("-9148838245189002336", jasmineId.ToString()); }
private dynamic GenerateId(dynamic parameters) { byte reserved = 0; long timestamp = -1; byte region = 0; ushort machine = 0; int sequence = -1; if (this.Request.Query.reserved.HasValue) { if (!byte.TryParse(this.Request.Query.reserved.Value.ToString(), out reserved)) { return(HttpStatusCode.BadRequest); } } if (this.Request.Query.timestamp.HasValue) { if (!long.TryParse(this.Request.Query.timestamp.Value.ToString(), out timestamp) || timestamp < 0) { return(HttpStatusCode.BadRequest); } } if (this.Request.Query.region.HasValue) { if (!byte.TryParse(this.Request.Query.region.Value.ToString(), out region)) { return(HttpStatusCode.BadRequest); } } if (this.Request.Query.machine.HasValue) { if (!ushort.TryParse(this.Request.Query.machine.Value.ToString(), out machine)) { return(HttpStatusCode.BadRequest); } } if (this.Request.Query.sequence.HasValue) { if (!int.TryParse(this.Request.Query.sequence.Value.ToString(), out sequence) || sequence < 0) { return(HttpStatusCode.BadRequest); } } return(JasmineId.GenerateNewId( reserved: reserved, timestamp: (timestamp > 0 ? (long?)timestamp : null), region: region, machine: machine, sequence: (sequence > 0 ? (int?)sequence : null)).ToLong().ToString()); }
private dynamic DecodeId(dynamic parameters) { if (!this.Request.Query.id.HasValue) { return(HttpStatusCode.BadRequest); } JasmineId id; if (!JasmineId.TryParse(this.Request.Query.id.ToString(), out id)) { return(HttpStatusCode.BadRequest); } return(this.Response.AsJson(id)); }