Skip to content

Commit 7ff517c

Browse files
committed
rename chooseMultiVariate() to optimize()
1 parent 1fde130 commit 7ff517c

File tree

5 files changed

+26
-25
lines changed

5 files changed

+26
-25
lines changed

improveai/src/main/java/ai/improve/DecisionContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ public Object random(Object... variants) {
125125
}
126126

127127
/**
128-
* @see ai.improve.DecisionModel#chooseMultiVariate(Map)
128+
* @see ai.improve.DecisionModel#optimize(Map)
129129
*/
130-
public Decision chooseMultiVariate(Map<String, ?> variants) {
130+
public Decision optimize(Map<String, ?> variants) {
131131
if(variants == null || variants.size() <= 0) {
132132
return chooseFrom(null);
133133
}
@@ -187,7 +187,7 @@ public Object which(Object... variants) {
187187
if(variants[0] instanceof List) {
188188
return chooseFrom((List)variants[0]).get();
189189
} else if(variants[0] instanceof Map) {
190-
return chooseMultiVariate((Map)variants[0]).get();
190+
return optimize((Map)variants[0]).get();
191191
}
192192
throw new IllegalArgumentException("If only one argument, it must be a List or Map");
193193
}

improveai/src/main/java/ai/improve/DecisionModel.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ public <T> Decision<T> chooseFrom(List<T> variants, List<Double> scores) {
327327

328328
/**
329329
* This method is an alternative of chooseFrom(). An example here might be more expressive:
330-
* chooseMultiVariate({"style":["bold", "italic"], "size":[3, 5]})
330+
* optimize({"style":["bold", "italic"], "size":[3, 5]})
331331
* is equivalent to
332332
* chooseFrom([
333333
* {"style":"bold", "size":3},
@@ -338,12 +338,12 @@ public <T> Decision<T> chooseFrom(List<T> variants, List<Double> scores) {
338338
* @param variants Variants can be any JSON encodeable data structure of arbitrary complexity
339339
* like chooseFrom(). The value of the dictionary is expected to be a List.
340340
* If not, it would be treated as an one-element List anyway. So
341-
* chooseMultiVariate({"style":["bold", "italic"], "size":3}) is equivalent to
342-
* chooseMultiVariate({"style":["bold", "italic"], "size":[3]})
341+
* optimize({"style":["bold", "italic"], "size":3}) is equivalent to
342+
* optimize({"style":["bold", "italic"], "size":[3]})
343343
* @return An IMPDecision object.
344344
* */
345-
public Decision chooseMultiVariate(Map<String, ?> variants) {
346-
return given(null).chooseMultiVariate(variants);
345+
public Decision optimize(Map<String, ?> variants) {
346+
return given(null).optimize(variants);
347347
}
348348

349349
/**
@@ -353,7 +353,7 @@ public Decision chooseMultiVariate(Map<String, ?> variants) {
353353
* When the only argument is a List, it's equivalent to calling
354354
* chooseFrom(variants).get();
355355
* When the only argument is a Map, it's equivalent to calling
356-
* chooseMultiVariate(variants).get();
356+
* optimize(variants).get();
357357
* When there are two or more arguments, all the arguments would form a
358358
* list and be passed to chooseFrom();
359359
* @return Returns the chosen variant

improveai/src/test/java/ai/improve/DecisionContextTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,20 +339,20 @@ public void testRandom_empty_list() {
339339
}
340340

341341
@Test
342-
public void testChooseMultiVariate() {
342+
public void testOptimize() {
343343
Map variants = new HashMap();
344344
variants.put("font", Arrays.asList("Italic", "Bold"));
345345
variants.put("color", Arrays.asList("#000000", "#ffffff"));
346346
DecisionModel decisionModel = new DecisionModel("theme");
347-
decisionModel.given(null).chooseMultiVariate(variants);
347+
decisionModel.given(null).optimize(variants);
348348
}
349349

350350
@Test
351-
public void testChooseMultiVariate_null_variants() {
351+
public void testOptimize_null_variants() {
352352
DecisionModel decisionModel = new DecisionModel("theme");
353353
DecisionContext decisionContext = new DecisionContext(decisionModel, null);
354354
try {
355-
decisionContext.chooseMultiVariate(null);
355+
decisionContext.optimize(null);
356356
} catch (IllegalArgumentException e) {
357357
e.printStackTrace();
358358
return ;
@@ -361,11 +361,11 @@ public void testChooseMultiVariate_null_variants() {
361361
}
362362

363363
@Test
364-
public void testChooseMultiVariate_empty_variants() {
364+
public void testOptimize_empty_variants() {
365365
DecisionModel decisionModel = new DecisionModel("theme");
366366
DecisionContext decisionContext = new DecisionContext(decisionModel, null);
367367
try {
368-
decisionContext.chooseMultiVariate(new HashMap<>());
368+
decisionContext.optimize(new HashMap<>());
369369
} catch (IllegalArgumentException e) {
370370
e.printStackTrace();
371371
return ;

improveai/src/test/java/ai/improve/DecisionModelTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -581,10 +581,10 @@ public void testChooseFromVariantsAndScores_size_not_equal() {
581581
}
582582

583583
@Test
584-
public void testChooseMultiVariate_null_variants() {
584+
public void testOptimize_null_variants() {
585585
DecisionModel decisionModel = new DecisionModel("theme");
586586
try {
587-
decisionModel.chooseMultiVariate(null);
587+
decisionModel.optimize(null);
588588
} catch (IllegalArgumentException e) {
589589
e.printStackTrace();
590590
return ;
@@ -593,10 +593,10 @@ public void testChooseMultiVariate_null_variants() {
593593
}
594594

595595
@Test
596-
public void testChooseMultiVariate_empty_variants() {
596+
public void testOptimize_empty_variants() {
597597
DecisionModel decisionModel = new DecisionModel("theme");
598598
try {
599-
decisionModel.chooseMultiVariate(new HashMap<>());
599+
decisionModel.optimize(new HashMap<>());
600600
} catch (IllegalArgumentException e) {
601601
e.printStackTrace();
602602
return ;
@@ -605,11 +605,11 @@ public void testChooseMultiVariate_empty_variants() {
605605
}
606606

607607
@Test
608-
public void testChooseMultiVariate_1_variant() {
608+
public void testOptimize_1_variant() {
609609
Map variants = new HashMap();
610610
variants.put("font", Arrays.asList("Italic", "Bold"));
611611
DecisionModel decisionModel = new DecisionModel("theme");
612-
Decision decision = decisionModel.chooseMultiVariate(variants);
612+
Decision decision = decisionModel.optimize(variants);
613613
List expected = Arrays.asList(
614614
new HashMap<String, String>(){{
615615
put("font", "Italic");
@@ -621,12 +621,12 @@ public void testChooseMultiVariate_1_variant() {
621621
}
622622

623623
@Test
624-
public void testChooseMultiVariate_2_variants() {
624+
public void testOptimize_2_variants() {
625625
Map variants = new HashMap();
626626
variants.put("font", Arrays.asList("Italic", "Bold"));
627627
variants.put("color", Arrays.asList("#000000", "#ffffff"));
628628
DecisionModel decisionModel = new DecisionModel("theme");
629-
Decision decision = decisionModel.chooseMultiVariate(variants);
629+
Decision decision = decisionModel.optimize(variants);
630630
List expected = Arrays.asList(
631631
new HashMap<String, String>(){{
632632
put("font", "Italic");
@@ -648,13 +648,13 @@ public void testChooseMultiVariate_2_variants() {
648648
}
649649

650650
@Test
651-
public void testChooseMultiVariate_3_variants() {
651+
public void testOptimize_3_variants() {
652652
Map variants = new HashMap();
653653
variants.put("font", Arrays.asList("Italic", "Bold"));
654654
variants.put("color", Arrays.asList("#000000", "#ffffff"));
655655
variants.put("size", 3);
656656
DecisionModel decisionModel = new DecisionModel("theme");
657-
Decision decision = decisionModel.chooseMultiVariate(variants);
657+
Decision decision = decisionModel.optimize(variants);
658658
List expected = Arrays.asList(
659659
new HashMap<String, Object>(){{
660660
put("font", "Italic");

runTest.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#!/bin/bash
22
./gradlew clean
33
./gradlew :improveai:test --info
4+
./gradlew :improveai-android:connectedAndroidTest --info

0 commit comments

Comments
 (0)