public void SettingETagOnDescriptorShouldOverrideWhatIsSent()
        {
            // regression coverage for Light switch issue: due to attach detach workaround identity strings don't match and duplicates occur with doubles,
            // which was really due to: DataServiceContext should support changing EntityState and ETag values for entity instances
            var entity         = new TestEntityType();
            var transportLayer = new TransportLayerThatRemembersIfMatchAndAlwaysSendsBack204(this.testSubject);

            this.testSubject.AttachTo("Things", entity, "ETagSetInAttach");
            this.testSubject.ChangeState(entity, EntityStates.Modified);
            this.testSubject.GetEntityDescriptor(entity).ETag = "ETagSetInProperty";

            this.testSubject.SaveChanges().Should().HaveCount(1);
            transportLayer.LastIfMatchHeaderValue.Should().Be("ETagSetInProperty");
        }
        public void SettingETagOnDescriptorShouldOverrideWhatIsSent()
        {
            // regression coverage for Light switch issue: due to attach detach workaround identity strings don't match and duplicates occur with doubles,
            // which was really due to: DataServiceContext should support changing EntityState and ETag values for entity instances 
            var entity = new TestEntityType();
            var transportLayer = new TransportLayerThatRemembersIfMatchAndAlwaysSendsBack204(this.testSubject);

            this.testSubject.AttachTo("Things", entity, "ETagSetInAttach");
            this.testSubject.ChangeState(entity, EntityStates.Modified);
            this.testSubject.GetEntityDescriptor(entity).ETag = "ETagSetInProperty";

            this.testSubject.SaveChanges().Should().HaveCount(1);
            transportLayer.LastIfMatchHeaderValue.Should().Be("ETagSetInProperty");
        }