01: /*******************************************************************************
02: * Copyright (c) 2007 Brad Reynolds and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * Brad Reynolds - initial API and implementation
10: ******************************************************************************/package org.eclipse.core.tests.databinding.observable.set;
11:
12: import java.util.Collections;
13:
14: import junit.framework.Test;
15:
16: import org.eclipse.core.databinding.observable.IObservable;
17: import org.eclipse.core.databinding.observable.IObservableCollection;
18: import org.eclipse.core.databinding.observable.Realm;
19: import org.eclipse.core.databinding.observable.set.IObservableSet;
20: import org.eclipse.core.databinding.observable.set.WritableSet;
21: import org.eclipse.jface.conformance.databinding.AbstractObservableCollectionContractDelegate;
22: import org.eclipse.jface.conformance.databinding.MutableObservableSetContractTest;
23: import org.eclipse.jface.conformance.databinding.ObservableCollectionContractTest;
24: import org.eclipse.jface.conformance.databinding.SuiteBuilder;
25: import org.eclipse.jface.tests.databinding.AbstractDefaultRealmTestCase;
26:
27: /**
28: */
29: public class WritableSetTest extends AbstractDefaultRealmTestCase {
30: public void testWithElementType() throws Exception {
31: Object elementType = String.class;
32: WritableSet set = WritableSet.withElementType(elementType);
33: assertNotNull(set);
34: assertEquals(Realm.getDefault(), set.getRealm());
35: assertEquals(elementType, set.getElementType());
36: }
37:
38: public static Test suite() {
39: Delegate delegate = new Delegate();
40:
41: return new SuiteBuilder().addTests(WritableSetTest.class)
42: .addObservableContractTest(
43: ObservableCollectionContractTest.class,
44: delegate).addObservableContractTest(
45: MutableObservableSetContractTest.class,
46: delegate).build();
47: }
48:
49: private static class Delegate extends
50: AbstractObservableCollectionContractDelegate {
51: private Delegate() {
52: super ();
53: }
54:
55: public void change(IObservable observable) {
56: IObservableSet set = (IObservableSet) observable;
57: set.add(createElement((IObservableCollection) observable));
58: }
59:
60: public Object createElement(IObservableCollection collection) {
61: return Integer.toString(collection.size());
62: }
63:
64: public Object getElementType(IObservableCollection collection) {
65: return String.class;
66: }
67:
68: public IObservableCollection createObservableCollection(
69: Realm realm, int elementCount) {
70: IObservableSet set = new WritableSet(realm,
71: Collections.EMPTY_SET, String.class);
72: for (int i = 0; i < elementCount; i++) {
73: set.add(Integer.toString(i));
74: }
75:
76: return set;
77: }
78: }
79: }
|