public void StructObservable() { // Create an observable for a PLC-updated variable var observable = client.ObservableFor <MyPlcStruct>("MAIN.var5", 100); var observer = new TestObserver <MyPlcStruct>(); observable.Subscribe(observer); Assert.True(observer.HasReceivedValue()); }
public void InitialValueAvailableWithoutChange() { // Create an observable for a variable that is not updated by the PLC program var observable = client.ObservableFor <short>("MAIN.var3", 100); var observer = new TestObserver <short>(); observable.Subscribe(observer); Assert.True(observer.HasReceivedValue()); }
public void ObservableCreatedOnSubscribeError() { // Create an observable for a non-existing variable var observable = client.ObservableFor <short>("MAIN.varNonExist", 100); var observer = new TestObserver <short>(); observable.Subscribe(observer); Assert.True(observer.HasReceivedError()); }
public void StringValueWritten() { // Create an observable for a PLC-updated variable client.Write("MAIN.var2", "abc"); var plcVar = client.ObservableFor <string>("MAIN.var2", 100); var observer = new TestObserver <string>(); plcVar.Subscribe(observer); client.Write("MAIN.var2", "abcdef"); Assert.True(observer.HasReceivedValue()); Assert.Equal("abcdef", observer.LastReceivedValue); }
public void ValueWritten() { // Create an observable for a PLC-updated variable client.Write <short>("MAIN.var3", 2); var plcVar = client.ObservableFor <short>("MAIN.var3", 100); var observer = new TestObserver <short>(); plcVar.Subscribe(observer); client.Write <short>("MAIN.var3", 3); Assert.True(observer.HasReceivedValue()); Assert.Equal(3, observer.LastReceivedValue); }
public void ValueNotWrittenAfterUnsubscribed() { // Reset client.Write <short>("MAIN.var3", 2); // Create an observable for a PLC-updated variable var plcVar = client.ObservableFor <short>("MAIN.var3", 100); var observer = new TestObserver <short>(); var subscription = plcVar.Subscribe(observer); // Push values onto the observable var subject = new Subject <short>(); client.StreamTo("MAIN.var3", subject); subscription.Dispose(); subject.OnNext(3); Assert.False(observer.HasReceivedValue()); }
public void ValueWritten() { // Reset client.Write <short>("MAIN.var3", 2); // Create an observable for a PLC-updated variable var plcVar = client.ObservableFor <short>("MAIN.var3", 100); var observer = new TestObserver <short>(); plcVar.Subscribe(observer); // Push values onto the observable var subject = new Subject <short>(); client.StreamTo("MAIN.var3", subject); subject.OnNext(3); Assert.True(observer.HasReceivedValue()); Assert.Equal(3, observer.LastReceivedValue); }
public void StructValueWritten() { var var6 = "MAIN.var6"; // Reset client.Write(var6, new MyPlcStruct { myBool = false, myInt = 0 }); var plcVar = client.ObservableFor <MyPlcStruct>(var6, 100); var observer = new TestObserver <MyPlcStruct>(); plcVar.Subscribe(observer); var myPlcStruct = new MyPlcStruct { myBool = true, myInt = 1 }; client.Write(var6, myPlcStruct); Assert.True(observer.HasReceivedValue()); Assert.Equal(myPlcStruct, observer.LastReceivedValue); }