public void ConnectableObservable_Connected() { var scheduler = new TestScheduler(); var xs = scheduler.CreateHotObservable<int>( OnNext(210, 1), OnNext(220, 2), OnNext(230, 3), OnNext(240, 4), OnCompleted<int>(250) ); var subject = new MySubject(); var conn = new ConnectableObservable<int>(xs, subject); var disconnect = conn.Connect(); var res = scheduler.Start(() => conn); res.Messages.AssertEqual( OnNext(210, 1), OnNext(220, 2), OnNext(230, 3), OnNext(240, 4), OnCompleted<int>(250) ); }
public ActionResult DeleteConfirmed(int id) { MySubject mySubject = db.MySubjects.Find(id); db.MySubjects.Remove(mySubject); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "MySubjectID,TeacherID,SubjectID")] MySubject mySubject) { if (ModelState.IsValid) { db.Entry(mySubject).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.SubjectID = new SelectList(db.Subjects, "SubjectID", "Name", mySubject.SubjectID); ViewBag.TeacherID = new SelectList(db.Teachers, "TeacherID", "Name", mySubject.TeacherID); return(View(mySubject)); }
public ActionResult Create([Bind(Include = "MySubjectID,TeacherID,SubjectID")] MySubject mySubject) { if (ModelState.IsValid) { db.MySubjects.Add(mySubject); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.SubjectID = new SelectList(db.Subjects, "SubjectID", "Name", mySubject.SubjectID); ViewBag.TeacherID = new SelectList(db.Teachers, "TeacherID", "Name", mySubject.TeacherID); return(View(mySubject)); }
// GET: MySubjects/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } MySubject mySubject = db.MySubjects.Find(id); if (mySubject == null) { return(HttpNotFound()); } return(View(mySubject)); }
public void Dispose() { lock (_gate) { if (_parent == null) { return; } lock (_parent._gate) { _parent._observers?.Remove(_observer); _parent = null; } } }
// GET: MySubjects/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } MySubject mySubject = db.MySubjects.Find(id); if (mySubject == null) { return(HttpNotFound()); } ViewBag.SubjectID = new SelectList(db.Subjects, "SubjectID", "Name", mySubject.SubjectID); ViewBag.TeacherID = new SelectList(db.Teachers, "TeacherID", "Name", mySubject.TeacherID); return(View(mySubject)); }
public void test_observer_notify() { MySubject subject = new MySubject(); MyObserver[] observers = new MyObserver[] { new MyObserver(), new MyObserver() }; foreach (MyObserver o in observers) { subject.attach(o); } subject.notify(); foreach (MyObserver o in observers) { Assert.IsTrue(o.hasBeenNotified); } }
public void Test_Proxy() { int result = 0; ISubject mySubject = new MySubject(); result = mySubject.Request("param1"); Assert.AreEqual(1, result); ISubject myProxy = new MyProxy(mySubject); // adds 1000 for each proxy call result = myProxy.Request("param2"); Assert.AreEqual(1001, result); result = myProxy.Request("param3"); Assert.AreEqual(2001, result); result = myProxy.Request(""); Assert.AreEqual(3001, result); }
public void 自作Subjectテスト() { var mySubject = new MySubject <int>(); var sampleObserver = new SampleObserver(); var disposable = mySubject.Subscribe(sampleObserver); mySubject.OnNext(1); Assert.AreEqual(1, sampleObserver.Value, "受け取れてること"); // 破棄 disposable.Dispose(); mySubject.OnNext(2); Assert.AreEqual(1, sampleObserver.Value, "破棄しているので更新されない"); mySubject.OnCompleted(); mySubject.Dispose(); }
private List <ListViewItem> GetSchedules(MySubject msj) { List <MySchedule> msc = msj.Schedules; List <MySchedule> unique = new List <MySchedule>(); List <ListViewItem> items = new List <ListViewItem>(); foreach (MySchedule m in msc) { List <MySchedule> inUnique = unique.Where(s => s.FromTime.TimeOfDay == m.FromTime.TimeOfDay && s.ToTime.TimeOfDay == m.ToTime.TimeOfDay && s.Room.Equals(m.Room)).Select(s => s).ToList(); if (inUnique.Count == 0) { unique.Add(m); List <MySchedule> getAllSameTime = msc.Where(s => s.FromTime.TimeOfDay == m.FromTime.TimeOfDay && s.ToTime.TimeOfDay == m.ToTime.TimeOfDay && s.Room.Equals(m.Room)).OrderBy(s => s.Days).Select(s => s).ToList(); string subjectCode = msj.SubjectID; string subjectDesctiption = msj.SubjectDescription; string days = string.Empty; string time = getAllSameTime[0].FromTime.ToString("hh:mm tt") + " - " + getAllSameTime[0].ToTime.ToString("hh:mm tt"); string room = getAllSameTime[0].Room; if (getAllSameTime.Count > 1) { foreach (MySchedule sched in getAllSameTime) { days += GetDayEquivalent(sched.Days, true); } } else { days = GetDayEquivalent(m.Days, false); } ListViewItem itm = new ListViewItem(subjectCode); itm.SubItems.Add(subjectDesctiption); itm.SubItems.Add(days); itm.SubItems.Add(time); itm.SubItems.Add(room); items.Add(itm); } } return(items); }
public void RefCount_NotConnected() { var disconnected = false; var count = 0; var xs = Observable.Defer(() => { count++; return Observable.Create<int>(obs => { return () => { disconnected = true; }; }); }); var subject = new MySubject(); var conn = new ConnectableObservable<int>(xs, subject); var refd = conn.RefCount(); var dis1 = refd.Subscribe(); Assert.AreEqual(1, count); Assert.AreEqual(1, subject.SubscribeCount); Assert.IsFalse(disconnected); var dis2 = refd.Subscribe(); Assert.AreEqual(1, count); Assert.AreEqual(2, subject.SubscribeCount); Assert.IsFalse(disconnected); dis1.Dispose(); Assert.IsFalse(disconnected); dis2.Dispose(); Assert.IsTrue(disconnected); disconnected = false; var dis3 = refd.Subscribe(); Assert.AreEqual(2, count); Assert.AreEqual(3, subject.SubscribeCount); Assert.IsFalse(disconnected); dis3.Dispose(); Assert.IsTrue(disconnected); }
public void RefCount_ConnectsOnFirst() { var scheduler = new TestScheduler(); var xs = scheduler.CreateHotObservable<int>( OnNext(210, 1), OnNext(220, 2), OnNext(230, 3), OnNext(240, 4), OnCompleted<int>(250) ); var subject = new MySubject(); var conn = new ConnectableObservable<int>(xs, subject); var res = scheduler.Start(() => conn.RefCount() ); res.Messages.AssertEqual( OnNext(210, 1), OnNext(220, 2), OnNext(230, 3), OnNext(240, 4), OnCompleted<int>(250) ); Assert.IsTrue(subject.Disposed); }
public Subscription(MySubject <T> parent, IObserver <T> observer) { _Parent = parent; _Observer = observer; }
void Awake() { _Subject = new MySubject <int>(); StartCoroutine(CountCoroutine()); }
public Subscription(MySubject <T> parent, IObserver <T> observer) { this.mySubject = parent; this.observer = observer; }
public Subscription(IObserver <T> observer, MySubject <T> parent) { _observer = observer; _parent = parent; }