public void ParseTildeStringAsString()
 {
     Assert.AreEqual(ValueTuple.Create("key", "aString"), SenderOptions.ParseItem("key~aString"));
 }
 public void ParsesTildeIntAsInt()
 {
     Assert.AreEqual(ValueTuple.Create("key", 42), SenderOptions.ParseItem("key~42"));
 }
 public void ParsesTildeDoubleAsDouble()
 {
     Assert.AreEqual(ValueTuple.Create("key", 3.14d), SenderOptions.ParseItem("key~3.14"));
 }
 public void ParsesTildeBoolAsBool()
 {
     Assert.AreEqual(ValueTuple.Create("key", false), SenderOptions.ParseItem("key~False"));
 }
 public void ParsesEmptyEqualsAsEmptyStringKey()
 {
     Assert.AreEqual(ValueTuple.Create("", "aString"), SenderOptions.ParseItem("=aString"));
 }
 public void ParsesTildeEmptyAsNull()
 {
     Assert.AreEqual(ValueTuple.Create("key", (String)null), SenderOptions.ParseItem("key~"));
 }
 public void ParsesEqualsEmptyAsEmptyString()
 {
     Assert.AreEqual(ValueTuple.Create("key", ""), SenderOptions.ParseItem("key="));
 }
 public void ParsesDoubleEqualsAsString()
 {
     Assert.AreEqual(ValueTuple.Create("key", "=1"), SenderOptions.ParseItem("key==1"));
 }
 public void ParsesEqualsTildeAsString()
 {
     Assert.AreEqual(ValueTuple.Create("key", "~1"), SenderOptions.ParseItem("key=~1"));
 }
 public void ParsesEqualsIntAsString()
 {
     Assert.AreEqual(ValueTuple.Create("key", "42"), SenderOptions.ParseItem("key=42"));
 }
 public void ThrowsOnEmptyString()
 {
     Assert.Throws <ArgumentException>(() => SenderOptions.ParseItem(""));
 }