]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.history/test/org/simantics/history/test/TestWeightedMedian.java
Update structure and value cache when refreshing variable
[simantics/platform.git] / bundles / org.simantics.history / test / org / simantics / history / test / TestWeightedMedian.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2011 Association for Decentralized Information Management in
3  * Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.history.test;
13
14 import java.util.Arrays;
15
16 import org.simantics.databoard.Bindings;
17 import org.simantics.databoard.binding.Binding;
18 import org.simantics.databoard.serialization.Serializer;
19 import org.simantics.history.util.WeightedMedian;
20
21 public class TestWeightedMedian {
22
23         public static void main(String[] args) throws Exception {
24                 
25             WeightedMedian median = new WeightedMedian(5);
26             
27             median.add(1, 1);
28             System.out.println(median);
29             median.add(1, 2);
30             System.out.println(median);
31             median.add(1, 3);
32             System.out.println(median);
33             median.add(1, 4);
34             System.out.println(median);
35             median.add(1, 4);
36             System.out.println(median);
37             median.add(1, 4);
38             System.out.println(median);
39             median.add(10, -1);
40             System.out.println(median);
41             median.add(10, 10);
42             System.out.println(median);
43
44             System.out.println();
45             median.clear();
46             for (int i = 1; i < 10; i += 2) {
47                 median.add(1.0, i);
48                 System.out.println(median);
49             }
50
51             for (int i = 10; i >= 2; i -= 2) {
52                 median.add(1.0, i);
53                 System.out.println(median);
54             }
55
56             System.out.println();
57         System.out.println(median);
58             
59             Binding b = Bindings.getBinding( WeightedMedian.class );
60
61             WeightedMedian qu = (WeightedMedian) b.createDefault();
62             qu.add( 5.0, 5.0 );
63             
64             Serializer s = Bindings.getSerializerUnchecked( b );
65             byte[] data = s.serialize( median );
66             System.out.println(Arrays.toString(data));
67             WeightedMedian q2 = (WeightedMedian) s.deserialize( data );
68             System.out.println( b.toString(q2) );
69             
70             System.out.println();
71             
72         }
73         
74         
75 }