// Copyright 2010-2021 Google LLC
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.ortools.init;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import com.google.ortools.Loader;
import com.google.ortools.init.CppBridge;
import com.google.ortools.init.CppFlags;
import com.google.ortools.init.OrToolsVersion;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

/** Tests the Init java interface. */
public final class InitTest {
  @BeforeEach
  public void setUp() {
    Loader.loadNativeLibraries();
  }

  @Test
  public void testLogging() {
    CppBridge.initLogging("init");
    CppBridge.shutdownLogging();
  }

  @Test
  public void testFlags() {
     final CppFlags cpp_flags = new CppFlags();
     assertNotNull(cpp_flags);
     cpp_flags.logtostderr = true;
     cpp_flags.log_prefix = true;
     cpp_flags.cp_model_dump_prefix = "init";
     cpp_flags.cp_model_dump_model = true;
     cpp_flags.cp_model_dump_lns = true;
     cpp_flags.cp_model_dump_response = true;
     CppBridge.setFlags(cpp_flags);
  }

  @Test
  public void testVersion() {
    final OrToolsVersion version = new OrToolsVersion();
    assertNotNull(version);
    int major = version.getMajorNumber();
    int minor = version.getMinorNumber();
    int patch = version.getPatchNumber();
    assertEquals(major + "." + minor + "." + patch, version.getVersionString());
  }
}

@@ -1487,17 +1487,20 @@
 p_flags.
-l
+setL
 ogtostde
@@ -1501,23 +1501,22 @@
 tostderr
- = 
+(
 true
+)
 ;%0A     c
@@ -1524,17 +1524,20 @@
 p_flags.
-l
+setL
 og_prefi
@@ -1537,23 +1537,22 @@
 g_prefix
- = 
+(
 true
+)
 ;%0A     c
@@ -1552,33 +1552,36 @@
 %0A     cpp_flags.
-c
+setC
 p_model_dump_pre
@@ -1587,17 +1587,16 @@
 efix
- = 
+(
 %22init%22
+)
 ;%0A  
@@ -1600,33 +1600,36 @@
 %0A     cpp_flags.
-c
+setC
 p_model_dump_mod
@@ -1630,23 +1630,23 @@
 mp_model
- = 
+s(
 true
+)
 ;%0A     c
@@ -1646,33 +1646,36 @@
 %0A     cpp_flags.
-c
+setC
 p_model_dump_lns
@@ -1674,23 +1674,22 @@
 dump_lns
- = 
+(
 true
+)
 ;%0A     c
@@ -1697,17 +1697,20 @@
 p_flags.
-c
+setC
 p_model_
@@ -1726,15 +1726,14 @@
 onse
- = 
+(
 true
+)
 ;%0A  
@@ -1835,22 +1835,16 @@
 ersion v
-ersion
  = new O
@@ -1883,20 +1883,20 @@
 ll(v
-ersion
 );%0A   
+ final
  int
@@ -1901,30 +1901,24 @@
 nt major = v
-ersion
 .getMajorNum
@@ -1924,24 +1924,30 @@
 mber();%0A    
+final 
 int minor = 
@@ -1943,30 +1943,24 @@
 nt minor = v
-ersion
 .getMinorNum
@@ -1970,16 +1970,22 @@
 ();%0A    
+final 
 int patc
@@ -1989,22 +1989,16 @@
 atch = v
-ersion
 .getPatc
@@ -2016,82 +2016,145 @@
     
-assertEquals(major + %22.%22 + minor + %22.%22 + patch, version.getVersionString()
+final String version =  v.getVersionString();%0A    final String check = major + %22.%22 + minor + %22.%22 + patch;%0A    assertEquals(check, version
 );%0A 

Fix InitTest.java