1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *
15 *  See the License for the specific language governing permissions and
16 *  limitations under the License.
17 */
18
19/**
20 * @author Anatoly F. Bondarenko
21 */
22
23/**
24 * Created on 17.03.2005
25 */
26package org.apache.harmony.jpda.tests.jdwp.ObjectReference;
27
28import org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer;
29import org.apache.harmony.jpda.tests.share.SyncDebuggee;
30
31public class SetValues003Debuggee extends SyncDebuggee {
32
33    static String passedStatus = "PASSED";
34    static String failedStatus = "FAILED";
35    static String status = passedStatus;
36
37    static SetValues003Debuggee setValues003DebuggeeObject;
38
39    SetValues003Debuggee_ExtraClass objectField;
40    static SetValues003Debuggee_ExtraClass objectFieldCopy;
41
42    public void run() {
43        logWriter.println("--> Debuggee: SetValues003Debuggee: START");
44        setValues003DebuggeeObject = new SetValues003Debuggee();
45        setValues003DebuggeeObject.objectField = new SetValues003Debuggee_ExtraClass();
46        objectFieldCopy = setValues003DebuggeeObject.objectField;
47
48        logWriter.println("\n--> Debuggee: SetValues003Debuggee: Before ObjectReference::SetValues command:");
49        logWriter.println("--> objectField value = " + setValues003DebuggeeObject.objectField);
50        logWriter.println("--> value to set = " + setValues003DebuggeeObject);
51
52        synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_READY);
53        synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
54
55        logWriter.println("\n--> Debuggee: SetValues003Debuggee: After ObjectReference::SetValues command:");
56        logWriter.println("--> objectField value = " + setValues003DebuggeeObject.objectField);
57        if ( ! objectFieldCopy.equals(setValues003DebuggeeObject.objectField) ) {
58            logWriter.println("##> Debuggee: FAILURE: Unexpected value");
59            logWriter.println("##> Expected value = " + objectFieldCopy);
60            status = failedStatus;
61        } else {
62            logWriter.println("--> Debuggee: PASSED: Expected value");
63        }
64
65        if ( status.equals(failedStatus) ) {
66            logWriter.println("\n##> Debuggee: Check status = FAILED");
67        } else {
68            logWriter.println("\n--> Debuggee: Check status = PASSED");
69        }
70
71        logWriter.println("--> Debuggee: Send check status for SetValues003Test...\n");
72        synchronizer.sendMessage(status);
73
74        logWriter.println("--> Debuggee: SetValues003Debuggee: FINISH");
75    }
76
77    public static void main(String [] args) {
78        runDebuggee(SetValues003Debuggee.class);
79    }
80}
81
82class SetValues003Debuggee_ExtraClass {
83
84}
85