public void Should_get_edge_with_ifNoneMatch()
{
Database.ClearTestCollection(Database.TestEdgeCollectionName);
var db = new ADatabase(Database.Alias);
var document = new Dictionary<string, object>()
.String("foo", "foo string value")
.Int("bar", 12345);
var createResult = db
.Document
.CreateEdge(Database.TestEdgeCollectionName, _documents[0].ID(), _documents[1].ID(), document);
var getResult = db
.Document
.IfNoneMatch("123456789")
.Get(createResult.Value.ID());
Assert.AreEqual(200, getResult.StatusCode);
Assert.IsTrue(getResult.Success);
Assert.IsTrue(getResult.HasValue);
Assert.AreEqual(getResult.Value.ID(), createResult.Value.ID());
Assert.AreEqual(getResult.Value.Key(), createResult.Value.Key());
Assert.AreEqual(getResult.Value.Rev(), createResult.Value.Rev());
Assert.IsTrue(getResult.Value.IsString("_from"));
Assert.IsTrue(getResult.Value.IsString("_to"));
Assert.IsTrue(getResult.Value.IsString("foo"));
// integers are by default parsed as long type
Assert.IsTrue(getResult.Value.IsLong("bar"));
}