public void UpdateDelete_ConcurrencySuccess_Binary() { switch (this.ProviderType) { case ProviderType.SQLite: Assert.Ignore("The provider does not support binary concurrency check."); return; } var set = this.Database.Set <Whisker>(this.Transaction); set.Clear(); var data = new Whisker() { Name = "Name" }; var version = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; set.AddOrUpdate(data); { Array.Copy(data.Version, version, version.Length); Array.Reverse(version); Assert.AreEqual(BitConverter.ToInt64(version, 0), 0); } for (var a = 1; a < 10; a++) { data.Name = "update" + a; set.AddOrUpdate(data); Array.Copy(data.Version, version, version.Length); Array.Reverse(version); Assert.AreEqual(BitConverter.ToInt64(version, 0), a); } set.Remove(data); }
public void Update_ConcurrencyFailure_Binary() { var set = this.Database.Set <Whisker>(this.Transaction); set.Clear(); var data = new Whisker() { Name = "Name" }; set.AddOrUpdate(data); { var version = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; Array.Copy(data.Version, version, version.Length); Array.Reverse(version); Assert.AreEqual(BitConverter.ToInt64(version, 0), 0); } data.Name = "updated1"; set.AddOrUpdate(data); { var version = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; Array.Copy(data.Version, version, version.Length); Array.Reverse(version); Assert.Greater(BitConverter.ToInt64(version, 0), 0); } data.Name = "updated2"; data.Version = BitConverter.GetBytes(0L); Assert.Throws <InvalidOperationException>(() => set.AddOrUpdate(data)); }
// Use this for initialization void Awake() { audio.AddLast(this.GetComponent <AudioSource>()); Debug.Log(data); start = Combine(data.StartSequence); end = Combine(data.EndSequence); Whisker f = this.transform.GetChild(0).GetComponent <Whisker>(); Whisker r = this.transform.GetChild(1).GetComponent <Whisker>(); Whisker l = this.transform.GetChild(2).GetComponent <Whisker>(); if (f != null) { f.audioClips = data.Wall.front; } if (f != null) { r.audioClips = data.Wall.right; } if (f != null) { l.audioClips = data.Wall.left; } Play(start); usedTriggers = new bool[data.TriggerResponses.Length]; usedDistances = new bool[data.DistanceResponses.Length]; }
public void CanIncrement_Binary() { var subject = new Whisker() { Version = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 } }; var incrementor = new LambdaPropertyIncrementorStrategy().CreateBinaryIncrementor <Whisker>( typeof(Whisker).GetProperty("Version"), 8 ); for (var a = 0; a < 1024; a++) { var version = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; Array.Copy(subject.Version, version, version.Length); Array.Reverse(version); Assert.AreEqual(a, BitConverter.ToInt64(version, 0)); incrementor(subject); } }