Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #12999

Re: JUnit Test von JButton: Action wird nicht erkannt

From Patrick Roemer <sangamon@netcologne.de>
Newsgroups de.comp.lang.java
Subject Re: JUnit Test von JButton: Action wird nicht erkannt
Date 2016-07-15 23:44 +0200
Organization news.netcologne.de
Message-ID <nmblfr$1ek$1@newsreader4.netcologne.de> (permalink)
References <duo028Fb4qaU1@mid.individual.net> <nm8j8b$r9c$1@newsreader4.netcologne.de> <duqgrdFtso5U1@mid.individual.net> <nmbfkk$sk4$1@newsreader4.netcologne.de> <dut1paFhuo8U1@mid.individual.net>

Show all headers | View raw


Responding to Christian H. Kuhn:
> Am 15.07.2016 um 22:04 schrieb Patrick Roemer:
>> Alternativ/zusätzlich könnte man das Design so ändern, dass der
>> ChessTimer nur eine Methode #checkFlag() hat, die von einem *externen*
>> Timer aufgerufen wird. Dann braucht man "weiter oben" natürlich wieder
>> eine Entität, die externen Timer und ChessTimer zusammenführt und muss
>> die separat testen - aber man hat die Verantwortlichkeiten getrennt und
>> die "Problemfläche" für Threading reduziert.
> 
> Der Gedanke kam mir auch schon. Die Kernfunktionalität von QChessTimer
> ist einfach das unterbrechbare Runterzählen  und Ausliefern der Zeit. Ob
> die Null erreicht ist, kann auch QChessClock prüfen. Man kann auch
> argumentieren, dass das semantisch besser ist.

Das wäre noch eine andere Variante.

Ich meinte eher, dass QChessTimer zunächst mal eine State Machine ist,
die anhand von eingehenden Events zwischen Idle, Stopped, Started und
Flagged o.s.ä. wechselt. Momentan verwaltet die Klasse zusätzlich noch
eine der Eventquellen (den Timer). Die könnte man da komplett
rausziehen. Dann hätte man eine (quasi "rein funktionale") Klasse mit
der Logik für die Zustandsübergänge. Und die könnte man in einer
"übergeordneten" Klasse (die dem jetzigen QChessTimer entspricht) mit
einer Timerabstraktion zusammenschalten.

>> Es ist völlig egal, welche Frequenz die Aufrufe in den einzelnen Threads
>> haben. Solange es keine "happens-before"-Beziehung zwischen Aktion A in
>> Thread 1 und Aktion B in Thread 2 gibt, hast Du keinerlei Garantie, dass
>> Thread 2 die Resultate von Aktion A je sehen wird, egal, wieviel
>> Realzeit zwischen den Aktionen liegt.
> 
> Ja. Das ist die Theorie. Schreib-Lese-Konflikte. In dem Fall allerdings
> nicht praktisch relevant. Das Blockadepotential der Anwendung ist eine
> Größenordnung kleiner als die Wahrnehmung der Spieler. Und wenn externe
> Blockaden auftreten, bleibt sowieso irgendwas unzumutbar stehen.

Ich dachte mir schon, dass Schachspieler eher so die geduldigen und
sanguinischen Typen sind, aber dass sie es entspannt hinnehmen, wenn im
Turnierfinale irgendwas (außer ihrer Deckung, natürlich) unzumutbar
stehenbleibt, erstaunt mich dann doch. :D

Abgesehen davon: Das ist nicht nur Theorie, das passiert. In echt. Und
das konkret angesprochene Problem hat (erst mal) nix mit Blockaden und
Konflikten zu tun. Es kann schlicht vorkommen, dass der Timer flagFallen
auf true setzt, und der Main-Thread da nie etwas von mitbekommt. Und
somit die Uhr unzumutbar *nicht* stehenbleibt...

Viele Grüße,
Patrick

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-14 01:09 +0200
  Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-14 18:26 +0200
  Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-14 19:47 +0200
    Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 00:08 +0200
      Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 22:04 +0200
        Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 22:53 +0200
        Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:09 +0200
          Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 23:44 +0200
            Countdown Timer Design (was: JUnit Test von JButton: Action wird nicht erkannt) "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 23:44 +0200
              Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 12:44 +0200
              Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 15:49 +0200
                Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 17:03 +0200
                Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 15:59 +0200
        Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 14:59 +0200
          Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 16:06 +0200
          Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-19 18:59 +0200
            Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 22:35 +0200
              Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-20 13:00 +0200
                Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-23 20:36 +0200
                Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-23 23:15 +0200
          Re: JUnit Test von JButton: Action wird nicht erkannt Wanja Gayk <brixomatic@yahoo.com> - 2016-07-19 23:02 +0200
            Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-20 12:33 +0200
    GUI-Update über Swing-EDT (was: JUnit Test von JButton: Action wird nicht erkannt) "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 12:03 +0200
      Re: GUI-Update über Swing-EDT Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 22:43 +0200
        Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:18 +0200
        Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 15:24 +0200
          Re: GUI-Update über Swing-EDT Patrick Roemer <sangamon@netcologne.de> - 2016-07-16 16:42 +0200
            Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 23:05 +0200
              Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 16:02 +0200

csiph-web